Migrar des de better-dni
better-dni valida DNI i NIE, i en genera. Aquesta biblioteca cobreix el mateix i hi afegeix el CIF i els NIF K/L/M, la normalització, el motiu de cada error i missatges traduïts. La comparació d’aquesta pàgina és amb better-dni 4.4.2.
Equivalència de funcions
Secció titulada «Equivalència de funcions»| better-dni | nif-dni-nie-cif-validation | Notes |
|---|---|---|
isValid(x) |
isValidNaturalPersonNif(x) |
També accepta els NIF K/L/M i la forma antiga del NIE. isValidNif(x) accepta, a més, un CIF |
isNIF(x) |
isValidDni(x) |
També accepta els NIF K/L/M. validate(x, { types: ["DNI"] }) per acceptar només un DNI |
isNIE(x) |
isValidNie(x) |
|
ctrlChar(x) |
computeControlCharacter(x) |
Passeu el número sense el caràcter de control |
randomNIF(), randomNIE() |
generateDni(), generateNie() |
De nif-dni-nie-cif-validation/generate; { seed } per a valors fixos |
randomNIFWith(letter), randomNIEWith(prefix, letter) |
Sense equivalent | Feu servir generateNie({ prefix }); la lletra de control es deriva de les xifres |
normalize(x) |
normalize(x) |
Els validadors ja normalitzen: no cal cridar-la abans |
Abans i després
Secció titulada «Abans i després»Abans, amb better-dni:
import { ctrlChar, isNIE, isNIF, isValid, normalize } from "better-dni";
isValid("12345678Z"); // trueisNIF("12345678Z"); // trueisNIE("X1234567L"); // truectrlChar("12345678"); // "Z"isValid(normalize("12345678-z")); // true: primer cal normalitzarDesprés:
import { computeControlCharacter, isValidDni, isValidNaturalPersonNif, isValidNie,} from "nif-dni-nie-cif-validation";
isValidNaturalPersonNif("12345678Z"); // trueisValidDni("12345678Z"); // trueisValidNie("X1234567L"); // truecomputeControlCharacter("12345678"); // "Z"isValidNaturalPersonNif("12345678-z"); // true: sense pas previ de normalitzacióPer generar números, abans:
import { randomNIE, randomNIF } from "better-dni";
randomNIF(); // un DNI aleatorirandomNIE(); // un NIE aleatoriDesprés:
import { createGenerator, generateDni, generateNie } from "nif-dni-nie-cif-validation/generate";
generateDni(); // un DNI aleatorigenerateNie(); // un NIE aleatorigenerateDni({ seed: 1 }); // "62707394X": el mateix a cada execuciócreateGenerator(42).nie(); // "Y4482905N": una seqüència de valors amb llavorDiferències de comportament
Secció titulada «Diferències de comportament»NIF K/L/M. better-dni els rebutja. Són NIF de persones físiques (espanyols sense DNI, persones estrangeres sense NIE), i aquesta biblioteca els accepta a isValidDni i a isValidNaturalPersonNif (KLM-1).
La forma antiga del NIE. better-dni rebutja els NIE de 10 caràcters, com X01234567L; continuen sent vàlids (NIE-3).
Separadors. better-dni accepta minúscules, però rebutja espais, punts i guions tret que abans crideu el seu normalize(). Aquí tots els validadors normalitzen, i normalize() també treu els punts i afegeix els zeros inicials d’un DNI curt.
import { isValid, normalize } from "better-dni";
isValid("K1234567L"); // falseisValid("X01234567L"); // falseisValid(" 12345678Z"); // falsenormalize(" 12.345.678-z "); // "12.345.678Z": es mantenen els puntsimport { isValidNaturalPersonNif, normalize } from "nif-dni-nie-cif-validation";
isValidNaturalPersonNif("K1234567L"); // trueisValidNaturalPersonNif("X01234567L"); // trueisValidNaturalPersonNif(" 12345678Z"); // truenormalize(" 12.345.678-z "); // "12345678Z"CIF. better-dni no té validador de CIF. Feu servir isValidCif(), o isValidNif() per acceptar tots els tipus.
El motiu. better-dni respon sí o no. validate() també dona el tipus, la forma canònica i, si el valor no és vàlid, el codi d’error, la regla de SPEC i un missatge en cinc idiomes: consulteu Codis d’error i missatges traduïts.