Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/03/2002, 07:16
bet
 
Fecha de Ingreso: febrero-2001
Mensajes: 292
Antigüedad: 23 años, 3 meses
Puntos: 0
Re: Validar HORA introducida en form

Algo así te puede servir?
Código:
<HTML>
<HEAD>
<TITLE>Validaciones de Fechas y Horas</TITLE>
<SCRIPT language="JavaScript">

   numeros="0123456789";
   separadorfecha="/";
   var separadorhora=":";
   error= new creaerror();  
   errores= new Array();
  
   errores[1]="Campo vacio no contiene ningún valor ";
   errores[2]="Carácter ilegal en una fecha";
   errores[3]="Faltan separadores en una fecha";
   errores[4]="Año incorrecto en una fecha";
   errores[5]="Mes incorrecto en una fecha";
   errores[6]="Día incorrecto en una fecha";
   errores[7]="Carácter ilegal en una hora";
   errores[8]="Faltan separadores en una hora";
   errores[9]="Hora incorrecta en una hora";
   errores[10]="Minutos incorrectos en una hora";
   errores[11]="Segundos incorrectos en una hora";
  
   // Crea un objeto que guarda un indice a la posición y al mensaje de error
   function creaerror()   {
   this.valor=0;
   this.posicion=0;
   return this
   }
  
   // Determina si un caracter es un número
   function numero(car)  {
   return (numeros.indexOf(car)>=0)
   }
   function compruebahora(contenido,error) {
   if ((contenido.length==0))
      {
      error.valor=1;
      error.posicion=1; 
      return false;
      } 
   var nsep=0; 
   // Comprobación de la sintáxis de una hora 
   for (var i=0; i<contenido.length; ++i) {
      var car=contenido.charAt(i);
	  if (!numero(car) && car!=separadorhora) {
         error.valor=7;
         error.posicion=i+1; 
         return false;
         } 
      if (car==separadorhora)
		nsep++ 
      }
   if (nsep!=2) {
      error.valor=8;
      error.posicion=i+1; 
      return false;
      }
   // Comprobación de la semántica de una hora 
   var pos1=contenido.indexOf(separadorhora);
   var horas=contenido.substring(0,pos1);
   var pos2=contenido.indexOf(separadorhora,pos1+1);
   var minutos=contenido.substring(pos1+1,pos2);
Sigue...