Skip to content

España (ES)

Validación de documentos fiscales para España.

Documentos Soportados

DocumentoDescripciónFormato
DNIDocumento Nacional de Identidad8 dígitos + Letra de control
NIENúmero de Identidad ExtranjeroX/Y/Z + 7 dígitos + Letra
CIFCódigo de Identificación FiscalLetra + 7 dígitos + Control

Notas

  • DNI y NIE usan una letra de control módulo 23.
  • CIF usa un checksum basado en el tipo de entidad, con carácter de control numérico o alfabético.
  • La entrada es insensible a mayúsculas/minúsculas y puede incluir espacios o guiones.

Uso

Validadores Individuales (Recomendado)

Para mejor rendimiento y tree-shaking, usa los validadores específicos:

typescript
import { validateDNI, validateNIE, validateCIF } from "validator-tax-id";

// DNI - Documento Nacional de Identidad
validateDNI("12345678Z"); // ✅ true
validateDNI("00000000T"); // ✅ true
validateDNI("12345678A"); // ❌ false (letra incorrecta)

// NIE - Número de Identidad de Extranjero
validateNIE("X1234567L"); // ✅ true
validateNIE("Y2345678Z"); // ✅ true
validateNIE("Z7654321H"); // ✅ true

// CIF - Código de Identificación Fiscal
validateCIF("A58818501"); // ✅ true (empresa SA)
validateCIF("B99286320"); // ✅ true (empresa SL)
validateCIF("P7800001E"); // ✅ true (organismo público)

Auto-detección de Tipo

Si no conoces el tipo de documento:

typescript
import { validateES } from "validator-tax-id";

validateES("12345678Z"); // ✅ true (auto-detectado como DNI)
validateES("X1234567L"); // ✅ true (auto-detectado como NIE)
validateES("A58818501"); // ✅ true (auto-detectado como CIF)

Función Genérica

typescript
import { validateIdentification } from "validator-tax-id";

validateIdentification("es", "12345678Z"); // ✅ true
validateIdentification("es", "X-1234567-L"); // ✅ true
validateIdentification("es", "A58818501"); // ✅ true