Ir al contenido

Cálculo del NIF en JavaScript

Este ejemplo es muy sencillo pero muy útil. Consiste en calcular la letra del NIF a partir del número del DNI dentro de una página web con la ayuda de JavaScript. El procedimiento del cálculo consiste en realizar el módulo de 23. Su resultado nos dará una posición en una secuencia de letras (TRWAGMYFPDXBNJZSQVHLCKE). La letra situada en dicha posición será la letra del NIF.

Nosotros creamos la ristra de letras en una variable:

var letras = "TRWAGMYFPDXBNJZSQVHLCKE";

Sobre el número del DNI calculamos el módulo (%) de 23:

var posicion = dni % 23;

Y obtenemos la letra de la cadena. Para ello nos ayudamos de la función substring (caracterInicio,numeroCaracteres). Veamos como sería esta línea de código:

var letra = letras.substring(posicion, posicion + 1);

Los datos los vamos a obtener de un formulario. Es por ello que cabe la posibilidad que el usuario nos introduzca datos erróneos (de manera intencionada o no). Para comprobar que el número introducido es correcto deberemos de comprobar que son 8 dígitos. Dicha comprobación la realizaremos mediante una expresión regular:

var expresion = /^[0-9]{8}$/;
if (!expresion.test(dni)) {
alert("El DNI debe tener 8 dígitos");
return false;
}

Ah, se me olvidaba. La función la ejecutaremos cuando el usuario abandone el campo del número (se supone, en un proceso normal, que para pasar al campo de la letra). Es por ello que utilizaremos el evento onBlur de dicho campo.

Foto de Víctor Cuervo

Víctor Cuervo

Programador, Arquitecto IT, álter ego de Línea de Código, amante de las tecnologías, generador de conocimiento y facilitador del aprendizaje.

Descarga el código de Cálculo del NIF en JavaScript

Código fuente que nos enseña cómo podemos realizar el cálculo del NIF en JavaScript.

Descargar código