// JavaScript Document
function validaFecha( obj )
{
var expr = '^[0-9]{4}-[0-9]{2}-[0-9]{2}$';
var fecha = new Date();
var diames = fecha.getDate();
var mes = fecha.getMonth() +1 ;
var ano = fecha.getFullYear();
if ( diames < 10 )
diames = "0"+diames;
if ( mes < 10 )
mes = "0"+mes;
fecAct = ano+'-'+mes+'-'+diames;
if( !obj.value.match( expr ) )
{
alert( 'El formato de la fecha debe ser AAAA-MM-DD' );
obj.value = '';
obj.focus();
}
else if( obj.value > fecAct )
{
alert('La fecha no puede ser mayor a la Actual. '+fecAct);
obj.value = '';
obj.focus();
}
else
{
var fecha1=obj.value;
fecha1=fecha1.split("-");
var ano=fecha1[0];
/*var mes=parseInt(fecha1[1])-1;*/
var mes = fecha1[1];
if( mes.charAt(0) == '0')
var mes = parseInt( mes.charAt(1) ) - 1;
else
var mes = parseInt( mes ) - 1;
var dia=fecha1[2];
var dato=new Date(ano,mes,dia);
if(dato.getMonth()!=mes)
{
alert("La fecha es incorrecta.");
obj.value = '';
obj.focus();
}
else if(dato.getUTCDate()!=dia)
{
alert("La Fecha es Incorrecta");
obj.value = '';
obj.focus();
}
}
}
los campos en html son
Código HTML:
<td><input name="fechaini" type="text" id="fechaini"></td> </tr> <tr> <th>Fecha Final (aaaa-mm-dd)</th> <td><input name="fechafin" type="text" id="fechafin"></td> </tr>