Hola,
tengo este script que me funciona perfectamente pero necesito que ademásme compruebe que la fecha de salida (campo salida) es superior a la de entrada.El código actual solo verifica que los campos no estan en blanco y que los valores de la fecha sean correctos. Lo he intentado de varias formas pero no me funciona. ¿Podeís decirme que código debo añadir y donde exactamente?
Gracias de antemano por cualquier ayuda
arodes_
function validacion(formulario)
{
var er_nombre = /^([a-z]|[A-Z]|á|é|í|ó|ú|ñ|ü|\s|\.|-)+$/ //letras, '.' y '-' o vacio
var er_adultos = /^([0-9\s\+\-])+$/ //numeros, espacios, + o -
var er_menores = /^([0-9\s\+\-])+$/ //numeros, espacios, + o -
//fechas, formato dd/mm/aaaa o d/m/aa
//fechas, formato dd/mm/aaaa o d/m/aa
var er_mes31dias = /^([1-3]0|[0-2][1-9]|31|[0-9])\/(1|01|3|03|5|05|7|07|8|08|10|12)\/(1999|20[0-1][0-9]|2020)$/
var er_mes30dias = /^([1-3]0|[0-2][1-9]|[0-9])\/(4|04|6|06|9|09|11)\/(1999|20[0-1][0-9]|2020)$/
var er_mes28dias = /^([1-2]0|[0-2][1-8]|[0-1]9|[0-9])\/(02|2)\/(1999|200[1-3]|200[5-7]|2009|201[0-1]|201[3-5]|201[7-9])$/
var er_mes29dias = /^([1-2]0|[0-2][1-9]|[0-9])\/(02|2)\/(2000|2004|2008|2012|2016|2020)$/
//direccion de correo electronico
var er_email = /^(.+\@.+\..+)$/
var adults = formulario.adultos.value
var childrens = formulario.menores.value
var x
//comprueba 50 caracteres maximo
for(x = 1; x < 7; x++) {
if (formulario.elements[x].value.length > 50) {
alert('La lontitud máxima permitida para cualquier campo es de 50 caracteres.')
return false
}
}
//comprueba campo de nombre
if(!er_nombre.test(formulario.nombre.value)) {
alert('Contenido del campo NOMBRE no válido.')
return false
}
//comprueba la fecha segun calendario (hasta el 2020, ojo)
if (!(er_mes31dias.test(formulario.entrada.value) ||
er_mes30dias.test(formulario.entrada.value) ||
er_mes29dias.test(formulario.entrada.value) ||
er_mes28dias.test(formulario.entrada.value))) {
alert('Contenido del campo ENTRADA no válido.')
return false
}
//comprueba la fecha segun calendario (hasta el 2020, ojo)
if (!(er_mes31dias.test(formulario.salida.value) ||
er_mes30dias.test(formulario.salida.value) ||
er_mes29dias.test(formulario.salida.value) ||
er_mes28dias.test(formulario.salida.value))){
alert('Contenido del campo SALIDA no válido.');
return false;
}
//comprueba campo adultos (permite solo numeros entre 1 y 9)
if( !er_adultos.test(formulario.adultos.value) ) {
alert('Contenido del campo ADULTOS no válido.')
return false
}
if (adults > 3) {
alert('Contenido del campo Mayor de 3')
return false
}
//comprueba campo menores (si existen, solo numeros entre 1 y 9)
if( !er_menores.test(formulario.menores.value) ) {
alert('Contenido del campo MENORES no válido.')
return false
}
if (childrens > 2) {
alert('Contenido del campo MENORES no válido.')
return false
}
//comprueba campo de email
if(!er_email.test(formulario.email.value)) {
alert('Contenido del campo E-MAIL no válido.')
return false
}
alert('Los campos introducidos son CORRECTOS.')
return true //cambiar por return true para ejecutar la accion del formulario
}
</script>