Por si todavia lo necesitas o quieres salir de dudas. el codigo que esta como comentario esta bien solo que a mi no me sirvio pero el error tuyo es solo cambiar las diagonales / por - dentro de las concatenaciones (nose si asi se les llame)
er_mes31dias
er_mes30dias
er_mes28dias
er_mes29dias
checalo con el que tienes.
function fecha()
{
/*if (formulario.FechaInicio.value == "")
{ alert("Por favor ingrese la Fecha");
formulario.FechaInicio .focus();
return (false);
}*/
//fechas, formato aaaa/mm/dd o aa/m/d
var er_mes31dias = /^(1999|20[0-1][0-9]|2020)\-(1|01|3|03|5|05|7|07|8|08|10|12)\-([1-3]0|[0-2][1-9]|31|[0-9])$/
var er_mes30dias = /^(4|04|6|06|9|09|11)\-(4|04|6|06|9|09|11)\-([1-3]0|[0-2][1-9]|[0-9])$/
var er_mes28dias = /^(1999|200[1-3]|200[5-7]|2009|201[0-1]|201[3-5]|201[7-9])\-(02|2)\-([1-2]0|[0-2][1-8]|[0-1]9|[0-9])$/
var er_mes29dias = /^(2000|2004|2008|2012|2016|2020)\-(02|2)\-([1-2]0|[0-2][1-9]|[0-9])$/
//comprueba la fecha segun calendario (hasta el 2020, ojo)
if (!(er_mes31dias.test(document.formsg1a.FechaInicio.value) ||
er_mes30dias.test(document.formsg1a.FechaInicio.value) ||
er_mes29dias.test(document.formsg1a.FechaInicio.value) ||
er_mes28dias.test(document.formsg1a.FechaInicio.value))) {
alert("Contenido del campo FECHA no válido.")
return false
}
}
Re: Re: validar fecha en formato aaaa-mm-dd
Enviado por carlos el día 22 de marzo de 2006
Muy buena función para validar fechas. Un par de apuntes más:
Tiene un error en los meses de 30 dias y si quieres que sólo permite valores estrictamente en el formato aaaa/mm/dd:
var er_mes31dias = /^(1999|20[0-1][0-9]|2020)\/(01|03|05|07|08|10|12)\/([1-3]0|[0-2][1-9]|31)$/
var er_mes30dias = /^(1999|20[0-1][0-9]|2020)\/(04|06|09|11)\/([1-3]0|[0-2][1-9])$/
var er_mes28dias = /^(1999|200[1-3]|200[5-7]|2009|201[0-1]|201[3-5]|201[7-9])\/(02)\/([1-2]0|[0-2][1-8]|[0-1]9])$/
var er_mes29dias = /^(2000|2004|2008|2012|2016|2020)\/(02)\/([1-2]0|[0-2][1-9])$/
Re: Re: validar fecha en formato aaaa-mm-dd
Enviado por carlos el día 22 de marzo de 2006
Tiene un erorr en los meses de 30 días, y si además quereis que sólo pueda meter fechas del estilo 2006/01/01
var er_mes31dias = /^(1999|20[0-1][0-9]|2020)\\\\\\\\/(01|03|05|07|08|10|12)\\\\\\\\/([1-3]0|[0-2][1-9]|31)$/
var er_mes30dias = /^(1999|20[0-1][0-9]|2020)\\\\\\\\/(04|06|09|11)\\\\\\\\/([1-3]0|[0-2][1-9])$/
var er_mes28dias = /^(1999|200[1-3]|200[5-7]|2009|201[0-1]|201[3-5]|201[7-9])\\\\\\\\/(02)\\\\\\\\/([1-2]0|[0-2][1-8]|[0-1]9])$/
var er_mes29dias = /^(2000|2004|2008|2012|2016|2020)\\\\\\\\/(02)\\\\\\\\/([1-2]0|[0-2][1-9])$/
validar fecha en formato aaaa-mm-dd
Enviado por juan carlos el día 18 de agosto de 2008
y como pòndria eso en un campo de texto atraves de un boton