Contenido

Calculando la letra del DNI

Hay pequeños algoritmos que pueden ser muy útiles, como calcular la letra del DNI.

Puede valer tanto para solicitar el NIF y calcularla como para algo mucho más útil y menos usado: para validar que el DNI es válido.

Vamos a ver cómo hacerlo en Python, Ruby y Javascript

Documentación en España

Algoritmo

Acordaos de esta secuencia: TRWAGMYFPDXBNJZSQVHLCKE Ésta es la clave para calcular la letra de un NIF y obtener el DNI.

El algoritmo no puede ser más sencillo: basta con obtener el resto entre el número del NIF y 23 y obtener el valor en esa cadena.

Python

1
2
3
def calculate_dni_letter(nif):
  seq = 'TRWAGMYFPDXBNJZSQVHLCKE'
  return seq[nif % len(seq)]

Javascript

1
2
3
4
function calculateDNILetter(nif) {
  var seq = "TRWAGMYFPDXBNJZSQVHLCKE";
  return seq[nif % seq.length];
}

Ruby

1
2
3
4
def calculate_dni_letter(nif)
  seq = 'TRWAGMYFPDXBNJZSQVHLCKE'
  seq[nif % seq.length]
end

Ejemplo


DNI:

Conclusión

A partir de ahora lo tenéis fácil para validar un DNI. ¡No hay excusas! :)