Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fabio Mazzi

Verificação de Data

Recommended Posts

Pessoal no meu codigo estou usando esta funcao para verificar data:

 

function validarData(campo){
var expReg = /^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[1-2][0-9]\d{2})$/;
var msgErro = 'Formato inválido de data.';
if (campo.value==''){
	alert("Digitação data nacimento obrigatório");
	campo.focus()
	return false;
}
if ((campo.value.match(expReg)) && (campo.value!='')){
var dia = campo.value.substring(0,2);
var mes = campo.value.substring(3,5);
var ano = campo.value.substring(6,10);
if(mes==04 || mes==06 || mes==09 || mes==11 && dia > 30){
alert("Dia incorreto !!! O mês especificado contém no máximo 30 dias.");
return false;
} else{
if(ano%4!=0 && mes==2 && dia>28){
alert("Data incorreta!! O mês especificado contém no máximo 28 dias.");
return false;
} else{
if(ano%4==0 && mes==2 && dia>29){
alert("Data incorreta!! O mês especificado contém no máximo 29 dias.");
return false;
} else{ 
return true;
}}}} else {
alert(msgErro);
campo.focus();
return false;
}}

So que o seguinte erro aconatece, ao digitar a data 20/09/1989 ele retorna o erro

 

Mensagem: "Dia incorreto !!! O mês especificado contém no máximo 30 dias"

 

 

O que será que pode tar errado, sendo ke ja verifiquei, o dia me traz 20, o mes 09 e o ano 1989, e na comparação

 

if(mes==04 || mes==06 || mes==09 || mes==11 && dia > 30){

 

ew ja tentei

 

if(mes==4 || mes==6 || mes==9 || mes==11 && dia > 30){

 

 

e tudo da o mesmo problema.

 

 

oq sera que pode ser?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.