Validaciones de fechas con ActionScript 3.0
Como cualquier programador es sabido, las validaciones son de lo más engorroso pero es lo que nos permite dormir tranquilos más de 3 horas seguidas. Aqui dejo algunas funciones que nos servirán para validar fechas en ActionScript 3.0 y una rutina, sencilla pero muy util, para validar los correos electrónicos con expresiones regulares. Espero que sean de utilidad:
function validaFechaDD_MM_AAAA(fecha) {
var datos = fecha.split("/");
if(datos.length!=3) return false;
return validaFecha(datos[0], datos[1], datos[2]);
}
function validaCorreo(mail):Boolean{
var reg:RegExp = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/
return reg.test(mail);
}
function validaFecha(d, m, a){
var hoy = new Date();
var dd = Number(d);
var mm = Number(m);
var aa = Number(a);
var diasMes = new Array();
//No es numerico
if(isNaN(dd)) return false;
if(isNaN(mm)) return false;
if(isNaN(aa)) return false;
//
if(a<1900) return false;
if(a>hoy.getFullYear()) return false;
//
var febrero = (((aa % 4 == 0) && ( (!(aa % 100 == 0)) || (aa % 400 == 0))) ? 29 : 28 );
//
for (var i = 1; i <= 12; i++) {
diasMes[i] = 31;
if (i==4 || i==6 || i==9 || i==11) diasMes[i] = 30;
if (i==2) diasMes[i] = febrero;
}
//
if(dd>diasMes[mm]) return false;
//
return true;
}
function calculaEdad() {
dia = dia_txt.text;
mes = mes_txt.text;
anio = anio_txt.text;
if(validaFecha(dia, mes, anio)){
var nac = new Date(Number(anio), Number(mes), Number(dia));
var hoy = new Date();
var pasadoCumple = ((nac.getMonth() < hoy.getMonth()) || ((nac.getMonth() == hoy.getMonth()) && (nac.getDate () <= hoy.getDate () )))
var edad = pasadoCumple?(hoy.getFullYear() - nac.getFullYear()):(hoy.getFullYear() - nac.getFullYear() - 1);
edad_txt.text = String(edad);
} else {
edad_txt.text = "Error";
}
}
http://www.pacoarce.com