<html>
<head>
<title>Valida que una fecha este comprendida en un periodo máximo de un año</title>
<!-- http://www.lawebdelprogramador.com -->
<script type="text/javascript">
/**
* Funcion que devuelve true o false dependiendo de si la fecha es correcta.
* Tiene que recibir el dia, mes y año
*/
function isValidDate(day,month,year)
{
var dteDate;
//En javascript, el mes empieza en la posicion 0 y termina en la 11 siendo 0 el mes de enero
//Por esta razon, tenemos que restar 1 al mes
month=month-1;
//Establecemos un objeto Data con los valore recibidos
// Los parametros son: año, mes, dia, hora, minuto y segundos
// getDate(); devuelve el dia como un entero entre 1 y 31
// getDay(); devuelve un num del 0 al 6 indicando siel dia es lunes, martes, miercoles ...
// getHours(); Devuelve la hora
// getMinutes(); Devuelve los minutos
// getMonth(); devuelve el mes como un numero de 0 a 11
// getTime(); Devuelve el tiempo transcurrido en milisegundos desde el 1 de enero de 1970 hasta
// el momento definido en el objeto date
// setTime(); Establece una fecha pasandole en milisegundos el valor de esta.
// getYear(); devuelve el año
// getFullYear(); devuelve el año
dteDate=new Date(year,month,day);
//Devuelva true o false...
return ((day==dteDate.getDate()) && (month==dteDate.getMonth()) && (year==dteDate.getFullYear()));
}
/**
* Funcion que valida que una fecha este comprendida en un periodo máximo de un
* año desde la fecha actual
* Tiene que recibir la fecha en formato español: dd/mm/yyyy
*/
function validate_fechaInOneYear(value)
{
var patron=new RegExp("^([0-9]{1,2})([/])([0-9]{1,2})([/])(19|20)+([0-9]{2})$");
if(value.search(patron)==0)
{
values=value.split("/");
if(isValidDate(values[0],values[1],values[2]))
{
var d=new Date();
var fechaActual=new Date(d.getFullYear(), d.getMonth(), d.getDate(),0,0,0);
var fechaMasUnAno=new Date(d.getFullYear(), d.getMonth()+12, d.getDate(),0,0,0);
var fechaUsuario=new Date(values[2],(values[1]-1),values[0],0,0,0);
document.write("<p>FechaActual: "+fechaActual+"</p>");
document.write("<p>FechaActual mas un año: "+fechaMasUnAno+"</p>");
document.write("<p>FechaUsuario: "+fechaUsuario+"</p>");
if(fechaUsuario>fechaMasUnAno)
document.write("error: la fecha es superior");
else if(fechaUsuario<fechaActual)
document.write("error: la fecha es inferior");
else if(fechaUsuario==fechaActual)
document.write("error: la fecha es hoy");
else
document.write("correcto");
}else
document.write("error: fecha incorrecta");
}else
document.write("error: formato incorrecto dd/mm/yyyy");
}
validate_fechaInOneYear("20/10/2013");
</script>
</head>
<body>
</body>
</html>
Comentarios sobre la versión: Versión 1 (0)
No hay comentarios