///Lleva a cabo la validación del nif
function validanif(nif)
{
//Validación básica de formato
var validformat = /^\d{8}([A-Z]|[a-z])$/;
var numero;
if (!validformat.test(nif))
return false;
//Entrando en detalle
numero = parseInt(nif.substring(0,8));
//Si no es un número dar error
if (isNaN(numero))
return false;
//Se comparan ambos resultados y se devuelve
return (letranif(numero)==nif.substring(8,9).toUpperCase());
}
///Calcula la letra del nif a partir del número
function letranif(numero)
{
aLetras = new Array();
aLetras[0] = "T" ;aLetras[1] = "R" ;aLetras[2] = "W" ;
aLetras[3] = "A" ;aLetras[4] = "G" ;aLetras[5] = "M" ;
aLetras[6] = "Y" ;aLetras[7] = "F" ;aLetras[8] = "P" ;
aLetras[9] = "D" ;aLetras[10] = "X" ;aLetras[11] = "B" ;
aLetras[12] = "N" ;aLetras[13] = "J" ;aLetras[14] = "Z" ;
aLetras[15] = "S" ;aLetras[16] = "Q" ;aLetras[17] = "V" ;
aLetras[18] = "H" ;aLetras[19] = "L" ;aLetras[20] = "C" ;
aLetras[21] = "K" ;aLetras[22] = "E" ;
return aLetras[numero%23];
}
jueves, 9 de diciembre de 2010
Validar el NIF
Son múltiples los ejemplos existentes por internet de scripts que calculan la letra del DNI a partir del número. No así los scripts que realizan la validación. Así pues comparto mi encomiable esfuerzo :D por si a alguien le ahorra los 5 minutos que lleva hacerlo.
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario