Criar Web, manuais e recursos para desenvolvimento web
Manuais
Programas
FAQS
Diretório
Comunidade
  Inicio > Manuais > Workshop de ASP
SEÇÕES
Manuais relacionados
+Workshop de ASP
Categorias
+Scripts em ASP

Índice do Manual Workshop de ASP
+ Melhorar o registro em buscadores
+ Include. Incluir arquivos ASP
+ Crie seu próprio buscador
+ O objeto RecordSet
+ Paginar resultados em ASP
+ Global .ASA
+ Contar usuários ativos
+ Percorrido arrays e coleções
+ Mais sobre cookies
+ Detector de navegador
+ Trabalho com o buffer da página
+ Utilização ou não do Cache
+ Objeto Server
+ Leitura e escritura de arquivos em ASP
+ Cálculo de dias que faltam para uma data
+ Componentes do servidor ASP
+ AspUpload
+ Exportar dados de MySQL a Microsoft Access
+ Exportar dados de Access a MySQL
+ Mandar e-mails pelo ASP
+ Criar banco de dados Access com ASP
+ Passagem de variáveis pela URL
+ Uso de CDONTS para script de recomendar a um amigo em ASP
+ Servidores nos EUA e o asp
+ Como fazer zonas aleatórias em asp
+ Selects dependentes com ASP e banco de dados
+ Sistema de Recomendação em ASP com CDONTS
+ Encaminhar o navegador a uma URL com ASP detalhado
+ Uso de cookies
+ Galeria de imagens em ASP
+ Escrever um arquivo Excel através de ASP
+ Tratar erros em sentenças SQL executadas em ASP
+ Validar uma data com ASP
+ Arredondar decimais em ASP
+ Devolver um arquivo de Word através de uma página ASP
+ Um Chat em ASP
+ Averiguar o endereço IP de um visitante e bloquear IPs, em ASP
+ Lista dos arquivos de um diretório com ASP
+ Percorrido genérico por um recordset com ASP
+ Intranets com ASP
+ Restringir o acesso a páginas com ASP
+ Saídas em formato compatível Excel
+ Variáveis de servidor em ASP
+ GeoLite Country para ASP. Conhecer o país de um IP
+ Um Sistema de postais Virtuais em ASP I
+ Um Sistema de postais Virtuais em ASP II
+ Messenger através de BD em ASP
+ Objeto Datagrid de ASP.NET em ASP
+ Percorrer campos de formulário complexos em ASP
+ Percorrer valor do campo auto-numérico depois de inserir em ASP
+ O Objeto Browser Capabilities
+ Buscador simples em ASP melhorado

Descrição dos capítulos

Parceiros
- CSS para Web Design
- S.O.S Designers
- Slackware-Brasil
- Crie seu Web site
- Oficina da Net


Validar uma data com ASP

Função para comprovar se uma data é correta, ou seja, se um dia, mês ou ano são corretos, em páginas programadas com ASP.


Vejamos uma função criada com Active Server Pages para fazer uma comprovação de datas. A função recebe um dia, um mês e um ano e comprovam que estes sejam numéricos e que a data criada entre todos é correta e possível no calendário.

A função recebe os dados de dia, mês e ano como string, tal como poderíamos chegar através de um formulário ou como parâmetro em uma URL. Não obstante, visto que ASP é uma linguagem pouco "typed", mesmo passando valores numéricos à função continuará dando resultados corretos.

Como resultado a função devolverá um valor verdadeiro ou falso, dependendo se a data é correta ou incorreta.

O código da função é o seguinte:

'valido uma data
'espero receber tres strings com o dia, o mes e o ano

function validarData(dia,mes,ano)

  'elimino possiveis espacos aos lados dos numeros que recebo por parametro

  dia = trim(dia)
  mes = trim(mes)
  ano = trim(ano)

  'comprovo nº de caracteres que recebo em cada parametro sao os permitidos
  'O ano pode ter ate 4 caracteres

  if len(dia)=0 or len(dia)>2 or len(mes)=0 or len(mes)>2 or len(ano)=0 or len(ano)>4 then
    validarData = false
    exit function
  end if

  'compovo que os caracteres dos parametros sao numeros

  if (not isNumeric(dia)) or (not isNumeric(mes)) or (not isNumeric(ano)) then
    validarData = false
    exit function
  end if

  'O mes nao pode ser maior que 12 nem menor que 1

  mes = cint(mes)
  if mes > 12 or mes < 1 then
    validarData = false
    exit function
  end if
  dia = cint(dia)

  'O dia nao pode ser menor que 1

  if dia < 1 then
    validarData = false
    exit function
  end if

  'O dia, dependendo do mes que seja, pode ter uns ou outros valores

  if mes=1 or mes=3 or mes=5 or mes=7 or mes=8 or mes=10 or mes=12 then

    'nesses meses pode ter 31 dias

    if dia > 31 then
      validarData = false
      exit function
    end if
  elseif mes=2 then

    'en fevereiro temos que ver se sera ano bissexto
    'consigo o numero de ano de 4 cifras.
    'se nos derem um valor de 2 cifras < 31 se refere a 2000 mais esse valor

    if ano < 31 then
      ano = ano + 2000

    'se nos derem um valor de 2 cifras > 31 se refere a 1900 mais esse valor

    elseif ano < 100 then
      ano = ano + 1900
    end if

    'calculo se o ano eh bissexto
    'se for divisivel por quatro e (nao divisivel por 100 ou divisivel por 400)

    if ((ano mod 4)=0) and ((ano mod 100)<>0 or (ano mod 400)=0) then

      'eh bissexto

      if dia > 29 then
        validarData = false
        exit function
      end if
    else

      'NAO eh bissexto

      if dia > 28 then
        validarData = false
        exit function
      end if
    end if
  else

    'em todos os demais meses chegam a ter 30 dias

    if dia > 30 then
      validarData = false
      exit function
    end if
  end if

  'se estou aqui eh porque todas as comprovacoes foram positivas

  validarData = true
end function


O código da função está comentado para que possa ser entendido mais facilmente. Basicamente, o que faz é realizar uma série de comprovações, uma atrás da outra. Se alguma das comprovações faz com que a data seja incorreta, devolve-se o valor false e sai da função. Se chega-se ao final da função e nenhuma das comprobações falhou, se devolve true, pois a data é correta.

Na hora de calcular se um dia é válido, temos que saber os dias que tem um mês. Temos que prestar especial atenção ao mês de fevereiro, para saber se é bissexto. Para saber se um ano é bissexto existe a seguinte regra:
  • São bissextos todos os anos divisíveis por 4, excluindo os que sejam divisíveis por 100, mas não excluindo os que sejam divisíveis por 400.

Autoria e outras referências sobre este artigo

Manuais relacionados com este artigo
Dentro de Workshop de ASP

Categorias relacionadas
Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo:
+ Entrar em Scripts em ASP


Comentário sem rever
Entre os comentários não revistos podem ter alguns interessantes que tenham sido enviado recentemente.
 Foi encontrado um comentário sem rever

VerVer os comentários não revistos



Sobre nós | Copyright | Anuncie | Entrar em contato <criarweb>

Hospedado por Hostnet Hospedagem de Sites