Skip to content

Espanha (ES)

Validação de documentos fiscais para Espanha.

Documentos Suportados

DocumentoDescriçãoFormato
DNIDocumento Nacional de Identidad8 dígitos + Letra de controlo
NIENúmero de Identidad ExtranjeroX/Y/Z + 7 dígitos + Letra
CIFCódigo de Identificación FiscalLetra + 7 dígitos + Controlo

Notas

  • DNI e NIE usam uma letra de controlo módulo 23.
  • CIF usa um checksum baseado no tipo de entidade, com carácter de controlo numérico ou alfabético.
  • A entrada é insensível a maiúsculas/minúsculas e pode incluir espaços ou hífens.

Uso

Validadores Individuais (Recomendado)

Para melhor desempenho e tree-shaking, use os 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 incorreta)

// 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-deteção de Tipo

Se não conhecer o tipo de documento:

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

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

Função Genérica

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

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