function validateDNI(dni)
{
var lockup = 'TRWAGMYFPDXBNJZSQVHLCKE';
var valueDni = dni.substr(0,dni.length-1);
var letra = dni.substr(dni.length-1,1).toUpperCase();
/* el dni viene vacio, le damos como bueno*/
if (dni.length == 0) {
return true;
} else {
/* El dni no trae ni espacion ni guiones */
if ((dni.indexOf(' ') == 0) || (dni.indexOf('-') == 0)) {
alert ("El DNI/CIF no puede tener ni espacion ni guiones");
document.getElementById("nif").focus();
return false;
}
/* El DNI tiene 9 posiciones */
if (dni.length < 9) {
alert ("El DNI/CIF debe tener tener 9 caracteres");
document.getElementById("nif").focus();
return false;
}
/* Si la primera posicion es uuna letra, no se valida */
if (isNaN(dni.substr(0,1))) {
return true;
}else{
var corresponde =lockup.charAt(valueDni % 23);
if (corresponde == letra ) {
return true;
} else {
alert("La letra del DNI esta mal, debe ser " && corresponde);
document.getElementById("nif").focus();
return false;
}
}
}
}
Comentarios sobre la versión: 1.0 (0)
No hay comentarios