function ValidarNif(nif)
{
letras = new Array();
letras[0] = "T";
letras[1] = "R";
letras[2] = "W";
letras[3] = "A";
letras[4] = "G";
letras[5] = "M";
letras[6] = "Y";
letras[7] = "F";
letras[8] = "P";
letras[9] = "D";
letras[10] = "X";
letras[11] = "B";
letras[12] = "N";
letras[13] = "J";
letras[14] = "Z";
letras[15] = "S";
letras[16] = "Q";
letras[17] = "V";
letras[18] = "H";
letras[19] = "L";
letras[20] = "C";
letras[21] = "K";
letras[22] = "E";
//dado un NIF te devuelve si es o no correcto
txtError = ""; //texto que se mostraría en caso de error
ok = true; //variable booleana que controla si hay algún error
dni=nif.substring(0,nif.length-1); //del NIF nos quedamos con el DNI
dni=parseInt(dni); //al convertirlo a entero, le quitamos los ceros de la izquierda
letra=nif.charAt(nif.length-1); //la letra que nos han pasado
letraCorrecta = letras[ dni % 23]; //la letra que debería ser para ese DNI
if (dni > 99999999){
txtError += "El DNI tiene a lo sumo 8 cifras\n";
ok = false;
} else if(letra < "A" || letra > "Z"){
txtError += "El último carácter del NIF debe ser una letra mayúscula"
ok = false;
} else if(letra!=letraCorrecta) {
txtError += "La letra del NIF es incorrecta";
ok = false;
}
if (ok) {
return true;
}else{
alert(txtError);
return false;
}
}
Si deseas colaborar enviando tu artículo, puedes acerlo a esta dirección de correo: admin@jaterli.com Será revisado y publicado tan pronto como nos sea posible. Gracias!!