Migrar desde spain-id
spain-id valida DNI, NIE e CIF, e indica o seu tipo. Esta biblioteca cobre o mesmo e engade os NIF K/L/M, o motivo de cada erro, mensaxes traducidas, xeradores e esquemas. spain-id ocupa menos para unha soa función; a páxina de rendemento ten os tamaños medidos. A comparación desta páxina é con spain-id 1.1.14.
Equivalencia de funcións
Sección titulada «Equivalencia de funcións»| spain-id | nif-dni-nie-cif-validation | Notas |
|---|---|---|
validateSpanishId(x) |
isValidNif(x) |
Tamén acepta os NIF K/L/M. O control do CIF segue CIF-3 (véxase máis abaixo) |
validDNI(x) |
isValidDni(x) |
Tamén acepta os NIF K/L/M |
validNIE(x) |
isValidNie(x) |
Tamén acepta a forma antiga de 10 caracteres |
validCIF(x) |
isValidCif(x) |
O control segue CIF-3 |
spainIdType(x) |
getNifType(x) |
En maiúsculas, "NIF_KLM" para os K/L/M, e null en lugar de undefined |
Antes e despois
Sección titulada «Antes e despois»Antes, con spain-id:
import { spainIdType, validateSpanishId, validCIF, validDNI, validNIE } from "spain-id";
validateSpanishId("12345678Z"); // truevalidDNI("12345678Z"); // truevalidNIE("X1234567L"); // truevalidCIF("B12345674"); // truespainIdType("B12345674"); // "cif"spainIdType("hello"); // undefinedDespois:
import { getNifType, isValidCif, isValidDni, isValidNie, isValidNif } from "nif-dni-nie-cif-validation";
isValidNif("12345678Z"); // trueisValidDni("12345678Z"); // trueisValidNie("X1234567L"); // trueisValidCif("B12345674"); // truegetNifType("B12345674"); // "CIF"getNifType("hello"); // nullComo spainIdType, getNifType só mira o formato e non comproba o carácter de control. Para saber se un número é válido e, se non o é, por que, use validate(), que tamén devolve o tipo.
Diferenzas de comportamento
Sección titulada «Diferenzas de comportamento»O control do CIF (CIF-3). spain-id acepta unha letra ou un díxito como carácter de control de calquera CIF. A nota técnica da AEAT asígnalle a cada clave de entidade unha soa clase: un díxito para A B C D E F G H J U V e unha letra para N P Q R S W (CIF-3). Por iso, algúns números que spain-id acepta non son válidos aquí, como G1234567D. Se os seus datos gardados os teñen, pase { cifControl: "lenient" } mentres os limpa: acepta unha letra para C, D, F, G, J, U e V.
import { validCIF } from "spain-id";
validCIF("G1234567D"); // trueimport { isValidCif } from "nif-dni-nie-cif-validation";
isValidCif("G1234567D"); // false: a G leva díxitoisValidCif("G1234567D", { cifControl: "lenient" }); // trueisValidCif("G12345674"); // trueNIF K/L/M. spain-id rexéitaos e non ten un tipo para eles. Son NIF de persoas físicas, válidos aquí (KLM-1).
A forma antiga do NIE. spain-id rexeita os NIE de 10 caracteres, como X01234567L; seguen sendo válidos (NIE-3).
Separadores. spain-id elimina espazos e guións, pero non puntos. Esta biblioteca tamén elimina puntos e barras, e devolve a forma canónica que debe gardar.
Valores que non son cadeas. spain-id lanza unha excepción con null; esta biblioteca devolve false.
import { spainIdType, validateSpanishId } from "spain-id";
validateSpanishId("K1234567L"); // falsevalidateSpanishId("X01234567L"); // falsevalidateSpanishId("12.345.678-Z"); // falsespainIdType("K1234567L"); // undefinedvalidateSpanishId(null); // throws TypeErrorimport { getNifType, isValidNif, validate } from "nif-dni-nie-cif-validation";
isValidNif("K1234567L"); // trueisValidNif("X01234567L"); // trueisValidNif("12.345.678-Z"); // truegetNifType("K1234567L"); // "NIF_KLM"isValidNif(null); // falsevalidate("12.345.678-Z").normalized; // "12345678Z"