Sexta, 22 de Novembro de 2024
Busca no site:
Ok
Home
Links
Soluções
Utilitários
Publicações
Curiosidades
Produtos
Diversões
Apps Android
Contato
Mapa do Site
Sobre Nós
©2024 CJDinfo®
Detalhe Solução
JavaScript: Funções para validação de Data/Hora em JS
:
/** * Retorna True se a String dada for uma data válida * * @param string dado Data no formato DD/MM/AAAA * @return boolean true se Data Ok */ function isStrData(dado){ var diasMes = new Array(31,29,31,30,31,30,31,31,30,31,30,31); var dia=0, mes=0, ano=0; var result = false; // Pré-analisa o String: if (dado != ""){ if ((dado.length == 10) && (dado.substr(2,1) == "/") && (dado.substr(5,1) == "/")){ // Levanta Campos: if (isStrNum(dado.substr(0,2),0)) dia = dado.substr(0,2); if (isStrNum(dado.substr(3,2),0)) mes = dado.substr(3,2); if (isStrNum(dado.substr(6,4),0)) ano = dado.substr(6,4); // Analisa Ano e Mês: if ((ano > 0) && (mes >= 1) && (mes <= 12)){ // Analisa Dia: if ((dia >= 1) && (dia <= diasMes[mes - 1])){ // Analisa os casos não-bissextos: if ((mes == 2) && ((ano%4 != 0) || (ano%100 == 0) && (ano%400 != 0))){ if (dia <= 28) result = true; } else { result = true; } } } } } return result; } /** * Retorna True se a String dada for uma data válida * * @param string dado Hora nos formatos HH:MM ou HH:MM:SS * @return boolean true se Hora Ok */ function isStrHora(dado){ var hor, min, seg; var result = false; // Pré-analisa o String: if (dado != ""){ if (((dado.length == 5) || (dado.length == 8)) && (dado.substr(2,1) == ":")){ // Levanta Campos: if (isStrNum(dado.substr(0,2),0)) hor = dado.substr(0,2); else hor = -1; if (isStrNum(dado.substr(3,2),0)) min = dado.substr(3,2); else min = -1; // Analisa a Hora: if ((hor >= 0) && (hor <= 23)){ // Analisa o Minuto: if ((min >= 0) && (min <= 59)){ // Verifica se tem segundo: if (dado.length == 8){ // Pré-analisa: if (dado.substr(5,1) == ":"){ // Levanta e verifica segundos: if (isStrNum(dado.substr(6,2),0)) seg = dado.substr(6,2); else seg = -1; if ((seg >= 0) && (seg <= 59)){ result = true; } } } else { result = true; } } } } } return result; } /** * Retorna True se a String dada for uma DataHora * nos formatos "DD/MM/AAAA" ou "DD/MM/AAAA HH:MM" * ou "DD/MM/AAAA HH:MM:SS" * @param string dado Data/Hora no formato DD/MM/AAAA, * DD/MM/AAAA HH:MM ou DD/MM/AAAA HH:MM:SS * @return boolean true se Data/Hora Ok */ function isStrDataHora(dado){ var result = false; // Pré-Analisa o String: if (dado != ""){ // Analisa a Data: if (dado.length >= 10){ if (isStrData(dado.substr(0,10))){ // Analisa a Hora, se disponível: if (dado.length > 10){ if ((dado.substr(10,1) == " ") && isStrHora(dado.substr(11))){ result = true; } } else { result = true; } } } } return result; }
¤ Links Relacionados:
- Veja todas as soluções do site
Gostou? Compartilhe ou comente:
Nome:
Email:
Comentário:
Retornar