Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/05/2005, 04:35
bilbo_e
 
Fecha de Ingreso: abril-2004
Mensajes: 44
Antigüedad: 20 años, 10 meses
Puntos: 1
Hola Jennifer_munn!!!

Yo utilizo esta función para validar las fechas, espero que te sirva:

Código PHP:
function validarFechacampo ){
   if (
campo.value == ''){
      return;
   }
   
/* Comprobar que el formato  es dd/mm/aaaa, aunque si el formato de 
      fecha que utilizas es otro, puedes cambiar esta parte de comprobación 
   */
   
while (campo.value.indexOf ('.') > - ){
      
campo.value campo.value.replace('.''/');
   }
   while (
campo.value.indexOf ('-') > - ){
      
campo.value campo.value.replace('-''/');
   }
   var 
fechaexp = /^dd/dd/dddd$/;    
   if ((
campo.value.indexOf ('/') < ) || (!fechaexp.test(campo.value))){
      
alert("La fecha de tener el formato dd/mm/aaaa");
      
campo.focus();
      
campo.select();
      return;
   }
    
/* Obtener la fecha introducida y se separa en dia, mes y año*/
   
campo.value;
   
dia=a.split("/")[0];
   
mes=a.split("/")[1];
   
anyo=a.split("/")[2];
   if(
anyoBisiesto(anyo))
      
febrero=29;
   else
      
febrero=28;
   
/* si el mes introducido es negativo, 0 o mayor que 12, se avisa y se para 
      la ejecución */
   
if ((mes<1) || (mes>12)){
      
alert("El mes introducido no es valido. Por favor, introduzca un mes correcto");
      
campo.focus();
      
campo.select();
      return;
   }
   
/* si el mes introducido es febrero y el dia es mayor que el 
      correspondiente al año introducido se avisa y se para la ejecucion */
   
if ((mes==2) && ((dia<1) || (dia>febrero))){
      
alert("El dia introducido no es valido. Por favor, introduzca un dia correcto");
      
campo.focus();
      
campo.select();
      return;
   }
   
/* si el mes introducido es de 31 dias y el dia introducido es mayor de 
      31 se avisa y se para la ejecucion
   */
   
if (((mes==1) || (mes==3) || (mes==5) || (mes==7) || (mes==8) || (mes==10) || (mes==12)) && ((dia<1) || (dia>31))){
      
alert("El dia introducido no es valido. Por favor, introduzca un dia correcto");
      
campo.focus();
      
campo.select();
      return;
   }
   
/* si el mes introducido es de 30 dias y el dia introducido es mayor de 
      30 se avisa y se para la ejecucion
   */
   
if (((mes==4) || (mes==6) || (mes==9) || (mes==11)) && ((dia<1) || (dia>30))){
      
alert("El dia introducido no es valido. Por favor, introduzca un dia correcto");
      
campo.focus();
      
campo.select();
      return;
   }
   
/* si el mes año introducido es menor que 1900 o mayor que 2100 se 
      avisa y se para la ejecución
      NOTA: estos valores son una elección, en realidad no son años 
      erróneos, solo sirve para validar un intervalo de años en caso de ser
      necesario */       
   
if ((anyo<1900) || (anyo>2100)){
      
alert("El año introducido no es valido. Por favor, introduzca un año entre 1900 y 2100");
      
campo.focus();
      
campo.select();
      return;
   } 
   
/* Si ha superado todas las condiciones anteriores es que la fecha 
      introducida es correcta */
   
return true;

Suerte!
__________________
sometimes, I feel I should go and play with the thunder