Jump to content


Photo

Se Ano E Bisexto


  • Faça o login para participar
3 replies to this topic

#1 igadino

igadino

    Novato no fórum

  • Usuários
  • 23 posts
  • Sexo:Não informado

Posted 24/02/2009, 16:07

Passoal não estou conseguindo validar a data para saber se o ano e bisexto ou não alguem pode ne ajudar

function checkForm(frm){
				var isn1=null;
				var isn2=false;
				today=new Date();
				mydate=new Date();
				function dia(frm){
				var dia = mydate.getYear();
				if (dia<10)
				dia = "0"+dia;
				return dia;
				}
				if(document.val_cad.nome.value.length == 0){
				alert("O preenchimento do campo. \n 'NOME:' \n e obrigatorio!");
				document.val_cad.nome.focus();
				return false;
				}
				if(document.val_cad.sexo.value.length == 0){
				alert("O preenchimento do campo. \n 'SEXO:' \n e obrigatorio!");
				document.val_cad.sexo.focus();
				return false;
				}
				// validar dia
				if(document.val_cad.dia.value.length == 0){
				alert("O preenchimento do campo. \n 'DIA:' \n e obrigatorio!");
				document.val_cad.dia.focus();
				return false;
				}
				if(document.val_cad.dia.value.length<2){
				alert("O CAMPO 'DIA' \n tem que no mínimo 2 caracteres!!");
				document.val_cad.dia.focus();
				return false;
				}
				dia = val_cad.dia.value;
				mes = val_cad.mes.value;
				if(dia<1||dia>31){
				alert("DIA INVALIDO");
				document.val_cad.dia.focus();
				return false;
				}
				// validar mes
				if(document.val_cad.mes.value.length == 0){
				alert("O preenchimento do campo. \n 'MES:' \n e obrigatorio!");
				document.val_cad.mes.focus();
				return false;
				}
				if(document.val_cad.mes.value.length<2){
				alert("O CAMPO 'MES' \n tem que no mínimo 2 caracteres!!");
				document.val_cad.mes.focus();
				return false;
				}
				if(mes==1||mes==3||mes==5||mes==7||mes==8||mes==10||mes==12){
			 	if(dia<1||dia>31){
				alert("\n DATA INVALIDA");
				document.val_cad.dia.focus();
				return false;
				}
				}
			 	if(mes==2){
				if ((ano % 4 == 0) || (ano % 100 == 0) || (ano % 400 == 0)){
 				if(dia<1||dia>29){
				alert("\n O ano não e Bisexto");
				document.val_cad.dia.focus();
				return false;
				}else{
				 if(dia<1||dia>28){
				alert("\n O ano e Bisexto");
				document.val_cad.dia.focus();
				return false;
				}				 
				}
				}}
				if(mes==4){
				if(dia<1||dia>30){
				alert("\n ABRIL NAO TEM MAIS DE 30 DIAS");
				document.val_cad.dia.focus();
				return false;
				}
				}
			 	if(mes==6){
				if(dia<1||dia>30){
				alert("\n JUNHO NAO TEM MAIS DE 30 DIAS");
				document.val_cad.dia.focus();
				return false;
				}
				}
			 	if(mes==9){
				if(dia<1||dia>30){
				alert("\n SETEMBRO NAO TEM MAIS DE 30 DIAS");
				document.val_cad.dia.focus();
				return false;
				}
				}
				if(mes==11){
			 	if(dia<1||dia>30){
				alert("\n NOVEMBRO NAO TEM MAIS DE 30 DIAS");
				document.val_cad.dia.focus();
				return false;
				}
				}
				if(mes<1||mes>12){
				alert("\n MES INVALIDO");
				document.val_cad.mes.focus();
				return false;
				}
				// Return false se os numeros não forem de '0-9'. 
				var num = document.val_cad.mes.value;
				num = num.split('');
				for(i=0;i<num.length;i++){
				if ((num[i] < "0" || "9" < num[i])) 
				{
				if(num[i]!=":"){
				alert("\nO campo MES so aceita numeros.");
				document.val_cad.mes.focus();
				return false;
				}					
				} 
				}
				// validar ano
				if(document.val_cad.ano.value.length == 0){
				alert("O preenchimento do campo. \n 'ANO:' \n e obrigatorio!");
				document.val_cad.ano.focus();
				return false;
				}
				if(document.val_cad.ano.value.length<4){
				alert("O CAMPO 'ANO' \n tem que no mínimo 4 caracteres!!");
				document.val_cad.ano.focus();
				return false;
				}		
				// Return false se os numeros não forem de '0-9'. 
				ano = val_cad.ano.value;
				if(ano<1){
				alert("ANO INVALIDO");
				document.val_cad.ano.focus();
				return false;
				}


#2 fiote

fiote

    12 Horas

  • Usuários
  • 191 posts
  • Sexo:Masculino
  • Localidade:Vila Velha - ES
  • Interesses:PHP

Posted 24/02/2009, 17:07

Você está usando:
if ((ano % 4 == 0) || (ano % 100 == 0) || (ano % 400 == 0))

Quando deveria usar:
if (ano % 400 == 0 || (ano % 4 == 0 && ano % 400 != 0))

;)
[ FFTOnline.Net ]
Developed by Fiote, Powered by Mootools.

#3 igadino

igadino

    Novato no fórum

  • Usuários
  • 23 posts
  • Sexo:Não informado

Posted 24/02/2009, 18:28

Já usei de todas as forma mas não dar certo

#4 fiote

fiote

    12 Horas

  • Usuários
  • 191 posts
  • Sexo:Masculino
  • Localidade:Vila Velha - ES
  • Interesses:PHP

Posted 24/02/2009, 21:03

O que não deu certo?

O que deveria estar acontecendo, e o que aconteceu?
[ FFTOnline.Net ]
Developed by Fiote, Powered by Mootools.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq