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?

Até a primeira metade dos anos 90 era bastante comum que as trilhas sonoras dos games fossem criadas por mulheres e a responsável pelas músicas do clássico Street Fighter 2 foi Yoko Shimomura. Segundo ela, o ritmo "Tararirarin" da música tema do personagem Blanka, do Brasil, veio à sua cabeça enquanto ela estava no trem a caminho da Capcom.


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.


Street Fighter 2, lançado para o Super Nintendo no início dos anos 90, foi o principal responsável pelo aumento nas vendas deste console. Graças ao sucesso do título nos Arcades e à perfeita adaptação ao console, muitos consumidores adquiriram o SNES para jogarem o título em casa. Saiba mais.


O primeiro computador a conseguir rodar o jogo Spacewar era o PDP-1, que custava 120 mil dólares e pertencia ao Massachusetts Institute of Technology. O jogo demorou 200 horas para ser desenvolvido, em 1962, e seu criador foi um cientista da computação chamado Steve Russel.


Apenas no ano de 1982, o clássico Pac Man vendeu mais de 400 mil máquinas de fliperama em todo o mundo e recebeu cerca de 7 bilhões de moedas nestas máquinas. Saiba mais.