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