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