Hola,
He encontrado una nueva expresión para usar con la validación de la fecha, incluso valida los años bisiestos y funciona a la perfección.
gracias de todos modos.
un saludo
Código PHP:
<html>
<head>
<script language="javascript" type="text/javascript">
function validacion(formulario) {
var msg='';
//comprueba campo de username
var er_username = /^([a-z]|[A-Z]|á|é|í|ó|ú|ñ|ü|s|.|-)+$/
if(!er_username.test(formulario.username.value)) {
msg="-Bad username \n";
}
//comprueba campo de email
var er_email = /^(.+@.+..+)$/
if(!er_email.test(formulario.email.value)) {
msg = msg+"-Bad email \n";
}
//------------------------------------------------------------------------------
//comprueba campo de fecha
var er_fecha = /^(((0[1-9]|[12][0-9]|3[01])([/])(0[13578]|10|12)([/])(d{4}))|(([0][1-9]|[12][0-9]|30)([/])(0[469]|11)([/])(d{4}))|((0[1-9]|1[0-9]|2[0-8])([/])(02)([/])(d{4}))|((29)(.|-|/)(02)([/])([02468][048]00))|((29)([/])(02)([/])([13579][26]00))|((29)([/])(02)([/])([0-9][0-9][0][48]))|((29)([/])(02)([/])([0-9][0-9][2468][048]))|((29)([/])(02)([/])([0-9][0-9][13579][26])))/
if(!er_irc.test(formulario.fecha.value)) {
msg = msg+"-Bad date \n";
}
//------------------------------------------------------------------------------
//Muestra errores si los hay
if (msg!="") {
alert ("You have the following errors:\n"+msg)
return false
}
//TODO CORRECTO
alert('Los campos introducidos son CORRECTOS.')
return false //cambiar por return true para ejecutar la accion del formulario
}
</script>
</head>
<body>
<p><b>VALIDACION DE FORMULARIO</b></p>
<form name="formulario" action="mailto:[email protected]" onsubmit="return validacion(formulario)" >
<small>Nombre:</small><br><input type="text" name="username" size="14"><br><br>
<small>Fecha (dd/mm/aaaa):</small><br><input type="text" name="fecha" size="14"><br><br>
<small>E-mail:</small><br><input type="text" name="email" size="14"><br><br>
<input type="submit" value="Validar" name="boton_envio">
<input type="reset" value="Borrar" name="boton_borrar"></form>
</body>
</html>