Comunidad de diseño web y desarrollo en internet online

Como comprobar validez de fecha?

Citar            
MensajeEscrito el 24 Jun 2008 03:28 pm
Hola de nuevo,
me gustaría comprobar si, al perder el foco de un input text, el texto que he introdocido es una fecha valida...
cómo podría hacerlo?

Un saludo ^^

Por Uruviel

48 de clabLevel



Genero:Femenino  

msie7
Citar            
MensajeEscrito el 24 Jun 2008 03:56 pm
expresiones regulares .!

Por Zandy

Claber

1345 de clabLevel

5 tutoriales

Genero:Masculino   Premio_Secretos

firefox
Citar            
MensajeEscrito el 24 Jun 2008 04:02 pm

Por Zandy

Claber

1345 de clabLevel

5 tutoriales

Genero:Masculino   Premio_Secretos

firefox
Citar            
MensajeEscrito el 25 Jun 2008 01:19 pm
Muchas gracias Zandy, he estado mirando los dos tips que me has pasado y están bastante bien para que sólo puedan escribir en un formato determinado... lo que creo que no me he explicado bien... estoy buscando algo que al poner 20/20/2000 me de fecha inválida porque el mes 20 no existe... (vamos que valide que la fecha introducida es correnta)

Un saludo ^^

Por Uruviel

48 de clabLevel



Genero:Femenino  

msie7
Citar            
MensajeEscrito el 25 Jun 2008 02:35 pm
Disculpa... he vuelto a mirar más pausadamente el 2º tip, no había visto bien lo de asignar un identificador a un grupo que después queramos recuperar. Creo que con esto que me has pasado me has solucionado el problema y con creces.

Muchísmas gracias, y disculpa por escribir antes de haberlo mirado bien
^^

Por Uruviel

48 de clabLevel



Genero:Femenino  

msie7
Citar            
MensajeEscrito el 25 Jun 2008 03:39 pm
Bueno, aquí les dejo lo que tengo por si alguien lo necesitara en algún momento, aunque sería bueno que también se miraran los 2 tips que ha puesto Zandy.

FechaParser.as

Código :

package{
   public class FechaParser{
      private var pattern=/^(?P<dia>(\d{2}))-(?P<mes>(\d{2}))-(?P<anio>(\d{4}))$/;
      private var fechaResultante:Array=new Array();
      public var valido:Boolean;

      function FechaParser(){
         //Constructor de la clase
      }
      
      public function ValidarFecha(fecha:String):Boolean{
         if(pattern.test(fecha)){
            fechaResultante=pattern.exec(fecha);
            
            if (fechaResultante.mes>=1 && fechaResultante.mes<=12){
               switch(fechaResultante.dia){
                  case "2":                     
                     if(fechaResultante.dia>=1 && fechaResultante.dia<=29){valido=true;}
                     else{valido=false;}
                  case "1":
                  case "3":
                  case "5":
                  case "7":
                  case "8":
                  case "10":
                  case "12":
                     if(fechaResultante.dia>=1 && fechaResultante.dia<=31){valido=true;}
                     else{valido=false;}                     
                  default:
                     if(fechaResultante.dia>=1 && fechaResultante.dia<=30){valido=true;}
                     else{valido=false;}   
               }
               
            }
            else{
               valido=false;
            }
            trace("Dia: "+fechaResultante.dia+" Mes: "+fechaResultante.mes+"Año: "+fechaResultante.anio);

         }
         else{
            valido=false;
         }
         return valido;
      }
   }
}


FechaTest.fla

Código :

import FechaParser

var parser:FechaParser=new FechaParser();

trace(parser.ValidarFecha("01-12-2008"));
trace(parser.ValidarFecha("20-20-2009"));
trace(parser.ValidarFecha("210-8-5006"));


Saludos :D

Por Uruviel

48 de clabLevel



Genero:Femenino  

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.