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