Identificadores
Validar DNI
Pega el documento y te decimos si la letra cuadra con el número. Escribe con puntos, con guiones o con espacios: da igual, lo limpiamos antes de mirarlo.
Introduce un DNI
Válido no significa que exista
Conviene aclarar esto antes que nada, porque es la confusión más frecuente. Cuando aquí lees «es válido», lo que estamos diciendo es que la letra concuerda con el número. Nada más. No hay forma de comprobar desde una página web si ese documento se ha emitido alguna vez, si está caducado o a quién pertenece: esos datos están en el Ministerio del Interior y no se consultan por internet.
Aun así, la comprobación vale mucho. La mayoría de los DNI mal introducidos no son intentos de engañar a nadie, son erratas, y las erratas sí se detectan.
Las erratas que la letra de control siempre caza
El algoritmo divide entre 23, que es un número primo, y de ahí sale una propiedad muy útil. Si te equivocas en una sola cifra, la letra deja de cuadrar. Siempre. No hay ningún dígito que puedas cambiar sin que salte el aviso.
Lo mismo pasa con el otro error clásico, el de intercambiar dos cifras contiguas al teclear rápido. Prueba con 12345678Z, que es correcto, y después con 21345678Z: el validador lo rechaza, porque a ese número le tocaba una E.
Donde el algoritmo no llega es al caso de alguien que se invente un documento entero a propósito. Una de cada 23 combinaciones al azar da la letra correcta por pura casualidad, así que como filtro antifraude esto no sirve. Como filtro antierratas es excelente.
Qué hacemos con lo que escribes antes de validarlo
Los documentos llegan escritos de mil maneras: 12.345.678-Z, 12345678 z, con un espacio de más al final porque venía copiado de una hoja de cálculo. Antes de aplicar el cálculo quitamos puntos, guiones y espacios, y pasamos la letra a mayúscula. Después exigimos exactamente ocho cifras y un carácter final.
Si tu formulario rechaza entradas por culpa de un punto, ese es un fallo tuyo y no del usuario. Merece la pena copiar esta normalización en tu propio código.
Un NIE no pasa por aquí
Si el documento empieza por X, Y o Z, no es un DNI sino un NIE, y aunque el cálculo de la letra sea el mismo, primero hay que traducir esa inicial a un número. Para eso está el validador de NIE, que hace la conversión antes de dividir.
Y si lo que tienes son solo las ocho cifras, sin letra, la calculadora de letra te la devuelve directamente.
Preguntas frecuentes
Me dice que es válido. ¿Significa que ese DNI existe?
No, y es importante no confundirlo. Válido aquí quiere decir que la letra concuerda con el número, que es un cálculo matemático. Si el documento se ha emitido, si sigue en vigor o de quién es solo lo sabe el Ministerio del Interior, y eso no se consulta desde ninguna web.
¿Importa cómo escriba el documento?
No. Antes de mirarlo le quitamos los puntos, los guiones y los espacios, y pasamos la letra a mayúscula. Puedes pegarlo tal cual venga de un correo o de una hoja de cálculo.
¿Sirve esto para detectar un DNI falso?
Para detectar erratas, sí, y muy bien: cualquier cifra mal copiada rompe la letra. Para detectar a alguien que se invente un documento a propósito, no, porque una de cada 23 combinaciones al azar acierta la letra por casualidad.
¿Por qué rechaza un documento que empieza por X?
Porque eso es un NIE, no un DNI. El cálculo de la letra es el mismo, pero antes hay que cambiar la X, la Y o la Z inicial por 0, 1 o 2. De eso se encarga el validador de NIE.
¿Guardáis los DNI que introduzco?
No llegan a salir de tu equipo. La comprobación se hace con JavaScript en la propia página, así que no hay ninguna petición que pudiéramos registrar aunque quisiéramos.