Validador Fechas
Valida formato, fecha real, y rango validez entre dos fechas
by mhctoledo
HTML
<input type="text" id="fecha" value="" >
<button id="validar" value="validar">validar</button>
<p id="hoy">H:</p>
<p id="futuro">F:</p>
<p id="campo">C:</p>
<p id="resultado"></p>
JavaScript
$("#validar").on("click",function(){
var fecha = $("#fecha").val();
var RegExPattern = /^\d{1,2}\/\d{1,2}\/\d{2,4}$/;
if ((fecha.match(RegExPattern)) && (fecha!='')){
var fechaf = fecha.split("/");
var day = fechaf[0];
var month = fechaf[1];
var year = fechaf[2];
var date = new Date(year,month,'0');
if(month > 0 && month < 13 && year > 0 && year < 32768 && day > 0 && day <= (new Date(year, month, 0)).getDate()){
var fecha_hoy_dos_meses_mas = new Date();
var fecha_campo = new Date(year,month,day);
fecha_hoy_dos_meses_mas.setMonth(fecha_hoy_dos_meses_mas.getMonth() + 2);
var fecha_hoy = new Date();
fecha_hoy_dos_meses_mas = ""+fecha_hoy_dos_meses_mas.getFullYear()+""+("0" + (fecha_hoy_dos_meses_mas.getMonth() + 1)).slice(-2) +""+("0" +fecha_hoy_dos_meses_mas.getDate()).slice(-2)+"";
fecha_campo = ""+fecha_campo.getFullYear()+""+("0" + (fecha_campo.getMonth() )).slice(-2) +""+("0" +fecha_campo.getDate()).slice(-2)+"";
fecha_hoy = ""+fecha_hoy.getFullYear()+""+("0" + (fecha_hoy.getMonth() + 1)).slice(-2) +""+("0" +fecha_hoy.getDate()).slice(-2)+"";
$("#hoy").html(fecha_hoy);
$("#futuro").html(fecha_hoy_dos_meses_mas);
$("#campo").html(fecha_campo);
if(fecha_campo < fecha_hoy || fecha_campo > fecha_hoy_dos_meses_mas){
return false;
}else{
return true;
}
}else{
return false;
}
}else{
return false;
}
});