Uso Básico
A biblioteca expõe funções de validação para cada país suportado.
Validação Genérica
Use validateIdentification para validação dinâmica baseada no código do país:
typescript
import { validateIdentification } from "validator-tax-id";
// Validar NIF português
const isNifValid = validateIdentification("pt", "123456789");
if (isNifValid) {
console.log("Correto ✅");
} else {
console.error("Incorreto ❌");
}Validadores Individuais (Recomendado) ✨
Para melhor tree-shaking e acesso direto, use as funções de validação individuais:
typescript
import { validateNIF } from "validator-tax-id";
// Validador português
validateNIF("123456789"); // ✅ true - NIF portuguêstypescript
import { validateDNI, validateCIF, validateNIE } from "validator-tax-id";
// Valida tipos de documento específicos diretamente
validateDNI("12345678Z"); // ✅ true - Apenas DNI espanhol
validateNIE("X1234567L"); // ✅ true - Apenas NIE espanhol
validateCIF("A58818501"); // ✅ true - Apenas CIF espanholtypescript
import { validateSIREN, validateSIRET, validateNIR } from "validator-tax-id";
// Validadores franceses
validateSIREN("443061841"); // ✅ true - Apenas SIREN
validateSIRET("44306184100047"); // ✅ true - Apenas SIRET
validateNIR("188057512301180"); // ✅ true - Apenas NIRAuto-deteção por País
Se não conhecer o tipo específico de documento, use o validador do país:
typescript
import { validateES, validateFR, validatePT } from "validator-tax-id";
// Auto-deteta DNI, NIE ou CIF
validateES("12345678Z"); // ✅ true (detetado como DNI)
validateES("A58818501"); // ✅ true (detetado como CIF)
// Auto-deteta SIREN, SIRET ou NIR por comprimento
validateFR("443061841"); // ✅ true (detetado como SIREN - 9 dígitos)
validateFR("44306184100047"); // ✅ true (detetado como SIRET - 14 dígitos)
// NIF português
validatePT("123456789"); // ✅ trueEstilo Vanilla
Não se preocupe, use onde quiser
JS
<script type="module">
import { validateNIF } from "https://cdn.jsdelivr.net/npm/validator-tax-id/+esm";
const input = document.getElementById("id-input");
const value = input.value.trim();
// Validação direta
if (validateNIF(value)) {
result.textContent = "NIF Válido ✅";
} else {
result.textContent = "Inválido ❌";
}
</script>