Calcula la letra de un D.N.I (en España)

El Documento nacional de identidad (D.N.I) personal, por lo menos en España, tienen una parte numérica y otra parte de texto. El número es variable para cada español y la letra se calcula con una fórmula matemática a partir del número.

Vamos a ver una función para calcular la letra de un DNI. La función recibe el número del DNI desde un campo de texto de un formulario, hace el cálculo de la letra correspondiente y escribe en el campo otra vez el DNI con la letra calculada.

Cargamos nuestra plantilla HTML.html y la renombramos como dni.html. En la sección head escribimos:

Y en la sección body creamos la parte del formulario donde introduciremos el D.N.I (sin la letra).

Contiene un campo de texto y un botón. En el campo de texto colocaríamos el número del DNI y al pulsar el botón, se realizaría el cálculo de la letra, colocándola dentro del campo junto con el número del DNI. Nuestro navegor mostrará el resultado después de pulsar el botón OK.

La letra del DNI se calcula hallando el resto de la división del número del documento entre 23. A partir del resto, se obtiene la letra a partir de los caracteres del siguiente array:

En la variable cadena introducimos las letras en el orden establecido para el cálculo de la letra:

Según sea el resultado del resto de la división, el script colocará la posición de la letra en la variable posicion.

Donde:

formulario es el nombre del formulario…

dni es el nombre del contenido de la casilla donde introducimos el número…

value es el botón OK.

En la variable letra almacenamos una subcadena de cadena desde posición, hasta posición +1 que será la letra resultante del D.N.I.

El resultado sería: