 
			
				28/10/2009, 13:17
			
			
			     |  
        |     |    |    Fecha de Ingreso: agosto-2009  
						Mensajes: 13
					  Antigüedad: 16 años, 2 meses Puntos: 1     |        |  
  |      Respuesta: javascript validar fecha        Con esta funcion de javascript validás la fecha de un form, haces que el usuario ingrese dos fechas por un combo y te indica si son validas o no.      
 function Validafecha(form) 
      { 
   // Verifico que tanto la fecha de inicio como la de fin se encuentran completas       
 if ((form.FDIAI.value=='') || (form.FMESI.value=='') || (form.FANIOI.value=='')) 
            { 
               alert('No completó bien la fecha de inicio'); 
               return false; 
             }   
         if ((form.FDIAF.value=='') || (form.FMESF.value=='') || (form.FANIOF.value=='')) 
            { 
               alert('No completó bien la fecha de finalización'); 
               return false; 
             } 
//		 return true;     
  DiaI = cint(form.FDIAI.value); 
  MesI = cint(form.FMESI.value); 
  AnioI = cint(form.FANIOI.value); 
  DiaF = cint(form.FDIAF.value); 
  MesF = cint(form.FMESF.value); 
  AnioF = cint(form.FANIOF.value);    
  campo = form.FMESI; 
 err = false;   
// Verifico que la fecha de inicio no sea mayor a la fecha de fin   
  if ( (MesI == 0) || (AnioI == 0) || (MesF == 0) || (AnioF == 0) ) 
  { err = true; }   
  if (AnioI > AnioF) 
  { err = true; }   
  if ((AnioI == AnioF) && (MesI > MesF)) 
  { err = true; }     
  if (err) 
  { 
    alert("Debe seleccionar las Fechas.\nLa Fecha INICIO no puede ser posterior\na la Fecha FIN."); 
    campo.focus(); 
    return (false); 
  }     
// CON ESTO VERIFICO LOS MESES QUE TIENEN DIA 31 VIGENTE Y EN EL CASO DEL 29 DE FEBRERO VERIFICO QUE EL AÑO SEA BISIESTO 
// PARA LA FECHA DE INICIO   
if ((MesI==1) || (MesI==3) || (MesI==5) || (MesI==7) || (MesI==8) || (MesI==10) || (MesI==12))  
{ 
	if ((DiaI==31) && (MesI%1)==0 || (MesI%3)==0 || (MesI%5)==0 || (MesI%7)==0 || (MesI%8)==0 || (MesI%10)==0 || (MesI%12)==0 ) 
		{ 
		//alert('El dia :'+DiaI+' es válido'); 
		return true; 
		} 
}	 
else 
	{  
if ((DiaI == 29) && (MesI==2)) 
			{ 
			if ((AnioI%4)==0 && (AnioI%100)!=0) 
					{ 
					//alert('El Año '+ AnioI +' ES BISIESTO\npor lo tanto ES VALIDO el dia: '+DiaI); 
	                 return true; 
	 				} 
			else { 
			alert('El Año '+ AnioI +' NO ES BISIESTO\npor lo tanto el día '+DiaI+'/'+MesI+' NO ES VALIDO, \ncomplete la fecha de Inicio correctamente'); 
			 return false; 
			} 
	}	 
if ((DiaI > 29 )&& (DiaI < 31) && (MesI==2)) 
		 	{ 
			alert(DiaI +' de Febrero NO ES UN DIA VALIDO, complete la fecha correctamente'); 
			 return false; 
			}   
if (DiaI == 31) { 
			alert(DiaI +'/'+MesI+' NO ES UN DIA VALIDO, complete la fecha correctamente'); 
			 return false; 
				}   
	}     
// CON ESTO VERIFICO LOS MESES QUE TIENEN DIA 31 VIGENTE Y EN EL CASO DEL 29 DE FEBRERO VERIFICO QUE EL AÑO SEA BISIESTO 
// PARA LA FECHA DE FIN   
if ((MesF==1) || (MesF==3) || (MesF==5) || (MesF==7) || (MesF==8) || (MesF==10) || (MesF==12))  
{ 
	if ((DiaF==31) && (MesF%1)==0 || (MesF%3)==0 || (MesF%5)==0 || (MesF%7)==0 || (MesF%8)==0 || (MesF%10)==0 || (MesF%12)==0 ) 
		{ 
		//alert('El dia :'+DiaF+' es válido'); 
		return true; 
		} 
}	 
else 
	{  
if ((DiaF == 29) && (MesF==2)) 
			{ 
			if ((AnioF%4)==0 && (AnioF%100)!=0) 
					{ 
					//alert('El Año '+ AnioF +' ES BISIESTO\npor lo tanto ES VALIDO el dia: '+DiaF); 
	                 return true; 
	 				} 
			else { 
			alert('El Año '+ AnioF +' NO ES BISIESTO\npor lo tanto el día '+DiaF+'/'+MesF+' NO ES VALIDO, \ncomplete la fecha de Fin correctamente'); 
			 return false; 
			} 
	}	 
if ((DiaF > 29 )&& (DiaF < 31) && (MesF==2)) 
		 	{ 
			alert(DiaF +' de Febrero NO ES UN DIA VALIDO, complete la fecha correctamente'); 
			 return false; 
			}   
if (DiaF == 31) { 
			alert(DiaF +'/'+MesF+' NO ES UN DIA VALIDO, complete la fecha correctamente'); 
			 return false; 
				}   
	}   
return false; 
}           |