O exemplo abaixo efetua a validação de datas através de uma função que recebe o nome do campo como parâmetro.
<script language="javascript">
function validaDatas() {
if (validaDat('dataInicial') && (validaDat('dataFinal'))) {
return true;
}
else {
return false;
}
}
function validaDat(nomeCampo) {
var campo = nomeCampo;
if (document.getElementById(campo).value.length == 10) {
var date = document.getElementById(campo).value;
var ardt = new Array;
var ExpReg = new RegExp("(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/[12][0-9]{3}");
ardt = date.split("/");
erro = false;
if (date.search(ExpReg) == -1) {
erro = true;
}
else if (((ardt[1] == 4) || (ardt[1] == 6) || (ardt[1] == 9) || (ardt[1] == 11)) && (ardt[0] > 30))
erro = true;
else if (ardt[1] == 2) {
if ((ardt[0] > 28) && ((ardt[2] % 4) != 0))
erro = true;
if ((ardt[0] > 29) && ((ardt[2] % 4) == 0))
erro = true;
}
if (erro) {
alert("A data informada é inválida.");
document.getElementById(campo).focus();
return false;
}
else {
return true;
}
}
else {
alert("A data informada é inválida.");
document.getElementById(campo).focus();
return false;
}
}
</script>
No exemplo acima, 'dataInicial' e 'dataFinal' são os nomes dos campos que se deseja validar. A função valida os dois campos ao mesmo tempo. Caso você tenha somente um campo para validar, basta remover um deles do início da função, deixando a linha condicional da seguinte forma:
if (validaDat('dataInicial')) { ...
Outras dicas de Javascript
Bloqueando acentos e caracteres especiais
Bloqueando o botão direito do mouse
Contando palavras em Javascript
Diferenças entre window.location.href e top.location.href
Executando funções Javascript ou jQuery automaticamente durante o carregamento da página
Impedindo seleção de textos
innerText no Firefox
Javascript aguardando para chamar outra função
Recarregando a página em Javascript
Redirecionando após uma mensagem (alert)
Redirecionando em Javascript
Retornando à página anterior
Tabela de acentos em Javascript
Validando datas
Verificando se uma variável Javascript é nula ou está vazia
Você Sabia?
Tetris
O título Tetris detém o recorde de jogo mais adaptado de todos os tempos. No total foram mais de 60 plataformas diferentes que receberam alguma versão do quebra-cabeças criado por Alexey Pajitnov. Conheça mais sobre este incrível jogo clicando aqui.
Galaxy Game
As primeiras máquinas de fliperama do mundo a utilizarem moedas, chamadas de Galaxy Game, custavam mais de 20 mil dólares para serem produzidas. Saiba mais sobre elas aqui.
PC com barulho?
Excesso de barulho dentro do seu gabinete, principalmente logo que você o liga, pode ser sintoma de problemas nas ventoinhas, que podem precisar ser limpas ou trocadas. Entre em contato com um técnico de sua confiança e verifique isso o quanto antes.
Cuidados com o notebook
Utilizar seu notebook em camas, sofás ou qualquer superfície macia pode obstruir as entradas e saídas de ar, elevando a temperatura e provocando danos a diversos componentes. Utilize-o sempre sobre uma superfície rígida. Saiba mais aqui.
Civilization
A empresa Take-Two pagou à Infogrames mais de 22 milhões de dólares pelos direitos de Civilization, em novembro de 1994. Ainda sobre este título, Sid Meier, um dos seus fundadores, é o profissional da área dos games mais premiado em todo o mundo.