Cálculo del NIF en JavaScript

16/Ene/2007 JavaScript 4 Comentarios

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 calculo 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.

  1. var letras = 'TRWAGMYFPDXBNJZSQVHLCKE';

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

  1. var numero = dni%23;

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

  1. form1.letra.value = letras.substring(numero,numero+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.

  1. if (!/^d{8}$/.test(dni)) {
  2. alert ("El numero introducido no es valido");
  3. return false;
  4. }

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.

Vídeos sobre Javascript


Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

4 comentarios en “Cálculo del NIF en JavaScript”

Víctor Cuervo

angie

no entendi!!!!

peorrrrrrrrrrrrrrrr

Víctor Cuervo

gu

tiene un pequeño problema
Si el NIF que empieza por 0, no lo pones y pones un espacio antes de la letra lo toma como valido

Víctor Cuervo

javi

muy bueno el ejemplo. Yo lo habia hecho antes en otros lenguajes de programacion, pero claro no tenian mucho sentido. Ahora al poder introducir esto en un formulario tiene mucha utilidad.

Gracias por este ejemplo.

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*