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?

O título Space Invaders, lançado em 1980, fez tanto sucesso em todo o mundo que as pessoas compravam o console Atari apenas para poderem jogá-lo em casa. Saiba mais sobre este incrível título clicando aqui.


Desde o seu lançamento, em 1985, o fantástico jogo Tetris vende pelo menos 70 milhões de unidades por ano em todo o mundo! Os dados são oficiais e fornecidos pela THQ, uma das distribuidoras do título.


O jogo Final Fantasy X para o Sony Playstation 2 vendeu, apenas no dia do seu lançamento, 1.455.732 cópias, estabelecendo um recorde de vendagem para as primeiras 24 horas de um game. Méritos da SquareSoft, que desenvolveu um excelente produto!


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.


O mouse foi criado em 9 de dezembro de 1968, por um americano chamado Douglas Engelbart, que o batizou de "XY Position Indicator for a Display System". Conheça a história do mouse clicando aqui.