El ejemplo consta de dos funciones: de la función esFechaValida() y de la función comprobarSiBisisesto() la cual ya mostré en un post anterior y que verifica si el año pasado como parámetro es bisiesto.
A continuación el código de ambas funciones:
function esFechaValida(fecha){
if (fecha != undefined && fecha.value != "" ){
fecha=fecha.replace(/-/g,'/');
var expreg = /^([0-9]{4})\/([0-9]{2})\/([0-9]{2})$/;
if (!expreg.test(fecha)){
return false;
}
var anio = parseInt(fecha.substring(0,4));
var dia = fecha.substring(8,10);
var mes = fecha.substring(5,7);
switch(mes){
case "01":
case "03":
case "05":
case "07":
case "08":
case "10":
case "12":
numDias=31;
break;
case "04":
case "06":
case "09":
case "11":
numDias=30;
break;
case "02":
if (comprobarSiBisisesto(anio)){ numDias=29 }else{ numDias=28};
break;
default:
return false;
}
if (dia>numDias || dia==0){
return false;
}
return true;
}
}
function comprobarSiBisisesto(anio){
if ( ( anio % 100 != 0) && ((anio % 4 == 0) || (anio % 400 == 0))) {
return true;
}
else {
return false;
}
}

Muy buena aportación la probé y me funciona :D gracias
ResponderEliminarno funca
ResponderEliminar¿Porque no te funca?
Eliminar