Buenas gente, a continuación os pego el código que tengo para que me valide, 4 campos (nombre, apellidos, email y comentarios), me gustaría saber, si alguien sabe como puedo acortar este pedazo código, pq creo que hay demasiado, para tan poca cosa que hace.
Muchas gracias.
function validar(formulario) {
var foc = formulario.nombre.focus();return (false);
if (formulario.comentarios.value.length < 4) {
alert("Escriba por lo menos 4 caracteres en el campo "Nombre".");
foc;
}
if (formulario.nombre.value == "") || (formulario.nombre.value == null) || (formulario.apellidos.value == "") || (formulario.apellidos.value == null) || (formulario.comentarios.value == "") || (formulario.comentarios.value == null) || (formulario.email.value == "") || (formulario.email.value == null) {
alert("Por favor rellene todos los campos");
foc;
}
var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ" + "abcdefghijklmnñopqrstuvwxyzáéíóú ";
var checkStr = formulario.nombre.value;
var checkStrs = formulario.apellidos.value;
var allValid = true;
for (i = 0; i < checkStr.length; i++) {
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length) {
allValid = false;
break;
}
}
for (i = 0; i < checkStrs.length; i++) {
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length) {
allValid = false;
break;
}
}
if (!allValid) {
alert("Escriba sólo letras en el campo Nombre o Apellidos.");
foc;
}
var valor = formulario.email.value;
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
alert("La dirección de email " + valor + " es correcta.") ;
return (true);
} else {
alert("La dirección de email es incorrecta.");
foc;
}
}