Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/01/2007, 07:04
Avatar de Superlinux
Superlinux
 
Fecha de Ingreso: octubre-2005
Ubicación: Colombia
Mensajes: 662
Antigüedad: 19 años, 5 meses
Puntos: 1
Pregunta Validar fecha aaaa/mm/dd

... Hola compañeros de la web ... tengo el siguiente codigo de validacion de fecha aaaa/mm/dd. Pero algo le esta pasando ... ya que no esta realizando lo que se necesita .... Gracias por la ayuda que me puedan brindar.

Código PHP:
<html
<
head
  <
script language="JavaScript"
   
//¿Como puedo validar una o mas fechas escritas en elementos TEXT?

   
function esDigito(sChr){ 
    var 
sCod sChr.charCodeAt(0); 
    return ((
sCod 47) && (sCod 58)); 
   } 

   function 
valSep(oTxt){ 
    var 
bOk false
    var 
sep1 oTxt.value.charAt(4); 
    var 
sep2 oTxt.value.charAt(7); 
    
bOk bOk || ((sep1 == "-") && (sep2 == "-")); 
    
bOk bOk || ((sep1 == "/") && (sep2 == "/")); 
    return 
bOk
   } 

   function 
finMes(oTxt){ 
    var 
nMes parseInt(oTxt.value.substr(52), 10); 
    var 
nAno parseInt(oTxt.value.substr(04), 10); 
    var 
nRes 0
    switch (
nMes){ 
     case 
1nRes 31; break; 
     case 
2nRes 28; break; 
     case 
3nRes 31; break; 
     case 
4nRes 30; break; 
     case 
5nRes 31; break; 
     case 
6nRes 30; break; 
     case 
7nRes 31; break; 
     case 
8nRes 31; break; 
     case 
9nRes 30; break; 
     case 
10nRes 31; break; 
     case 
11nRes 30; break; 
     case 
12nRes 31; break; 
    } 
    return 
nRes + (((nMes == 2) && (nAno 4) == 0)? 10); 
   } 

    function 
valAno(oTxt){ 
    var 
bOk true
    var 
nAno parseInt(oTxt.value.substr(0)); 
    
bOk bOk && ((nAno.length == 2) || (nAno.length == 4)); 
    if (
bOk){ 
     for (var 
0nAno.lengthi++){ 
      
bOk bOk && esDigito(nAno.charAt(i)); 
     } 
    } 
    return 
bOk
   } 
   
   function 
valMes(oTxt){ 
    var 
bOk false
    var 
nMes parseInt(oTxt.value.substr(52), 10); 
    
bOk bOk || ((nMes >= 1) && (nMes <= 12)); 
    return 
bOk
   } 
   
   function 
valDia(oTxt){ 
    var 
bOk false
    var 
nDia parseInt(oTxt.value.substr(82), 10); 
    
bOk bOk || ((nDia >= 1) && (nDia <= finMes(oTxt))); 
    return 
bOk
   } 
   
   function 
valFecha(oTxt){ 
    var 
bOk true
        if (
oTxt.value != ""){ 
            
bOk bOk && (valDia(oTxt)); 
            
bOk bOk && (valMes(oTxt)); 
            
bOk bOk && (valAno(oTxt)); 
            
bOk bOk && (valSep(oTxt)); 
            if (!
bOk){ 
                 
alert("Fecha inválida");
                 
oTxt.value ""
                 
oTxt.focus(); 
            } else 
alert("Fecha correcta"); 
        } 
   } 
</script> 
</head> 
<body> 
  <form name="frm"> 
   Escriba fecha (aaaa/mm/dd): 
   <input type="text" size="10" name="fec"> 
   <br> 
   <input type="button" value="Validar" onclick="valFecha(document.frm.fec)"> 
  </form> 
</body> 
</html> 
.... Donde esta el error
__________________
"La vida sigue su curso, tú toma parte de ella."