validation-br
Biblioteca de validação de documentos pessoais do Brasil com suporte a CPF, CNPJ, Título Eleitoral, PIS/PASEP, CNH. Também valida numerações de outros tipos de registros como RENAVAM, Processos Judiciais e Objetos registrados de Rastreamento dos Correios.
Validation-BR também permite a criação de números fake das numerações acima para fins de teste de desenvolvimento, além de aplicação de máscaras e cálculo do dígito verificador.
Validation-BR também permite criação de números fake para facilitar o desenvolvimento e testes, além de aplicar máscaras e calcular somente os dígitos verificadores.
Instalação
yarn add validation-br
npm install validation-br
Importação
Importação direta
Permite realizar diretamente uma validação a partir do objeto principal
const { isCPF, isCNPJ } = require('validation-br');
import { isCPF, isCNPJ } from 'validation-br';
Importação de submódulos
Importando os submódulos, é possível criar máscaras, números fake para testes de desenvolvimento e calcular dígitos verificadores.
Exemplos
import { dv, fake, mask, validate } from 'validation-br/cpf';
const cpf = require('validation-br/cpf');
const { dv, fake, mask, validate } = require('validation-br/cpf');
cpf.dv(906259666);
cpf.dv('906259666');
cpf.dv('906.259.666');
cpf.fake();
cpf.fake(true);
cpf.mask(90625966651);
cpf.validate('01234567890');
cpf.validateOrFail('01234567890');
Tabela de Conteúdo
isCNH( value
)
Valida o documento da carteira nacional de habilitação.
import { isCNH } from 'validation-br';
import cnh from 'validation-br/cnh';
isCNH('69044271146');
isCNH('62472927637');
isCNH('46190476839');
cnh.validate('62472927637');
cnh.validateOrFail('62472927637');
cnh.fake();
cnh.fake(true);
cnh.mask('62472927637');
cnh.dv('624729276');
isCNPJ( value
)
Valida um CNPJ
import { isCNPJ } from 'validation-br';
import cnpj from 'validation-br/cnpj';
isCNPJ('73.797.980/0001-79');
isCNPJ('55585709000198');
isCNPJ('99362238000180');
cnpj.validate('99362238000180');
cnpj.validateOrFail('99362238000180');
cnpj.fake();
cnpj.fake(true);
cnpj.mask('99362238000180');
cnpj.dv('993622380001');
isCPF( value
)
Valida um CPF
import { isCPF } from 'validation-br';
import cpf from 'validation-br/cpf';
isCPF('01234567890');
isCPF('012.345.678-90');
isCPF('01234567891');
cpf.validate('01234567890');
cpf.validateOrFail('01234567890');
cpf.fake();
cpf.fake(true);
cpf.mask('01234567890');
cpf.dv('012345678');
isJudicialProcess( value
)
Valida códigos PIS, PASEP, NIS e NIT, que usam o mesmo algoritmo. Aceita números com e sem pontos e traços.
import { isJudicialProcess } from 'validation-br';
import judicialProcess from 'validation-br/judicial-process';
isJudicialProcess('71282677380');
isJudicialProcess('237.95126.95-5');
isJudicialProcess('500.12973.80-1');
judicialProcess.validate('71282677380');
judicialProcess.validateOrFail('71282677380');
judicialProcess.fake();
judicialProcess.fake(true);
judicialProcess.mask('71282677380');
judicialProcess.dv('7128267738');
isPIS( value
)
Valida códigos PIS, PASEP, NIS e NIT, que usam o mesmo algoritmo. Aceita números com e sem pontos e traços.
import { isPIS } from 'validation-br';
import pis from 'validation-br/pis';
isPIS('71282677380');
isPIS('237.95126.95-5');
isPIS('500.12973.80-1');
pis.validate('71282677380');
pis.validateOrFail('71282677380');
pis.fake();
pis.fake(true);
pis.mask('71282677380');
pis.dv('7128267738');
isPostalCode( value
)
Valida um código de rastreamento de objetos postais no formato XX00000000DYY, onde:
- XX: O código do objeto postal com 2 dígitos;
- 00000000: Número sequencial do objeto com 8 dígitos;
- D: Dígito Verificador
- YY: País de origem do objeto com 2 dígitos.
import { isPostalCode } from 'validation-br';
import postalCode from 'validation-br/postal-code';
isPostalCode('PN718252423BR');
isPostalCode('RY728187035CN');
isPostalCode('JT194624698BR');
postalCode.validate('PN718252423BR');
postalCode.validateOrFail('PN718252423BR');
postalCode.fake();
postalCode.fake(true);
postalCode.mask('pn718252423br');
postalCode.dv('PN718252423BR');
isRenavam( value
)
Valida o número de um RENAVAM de 11 dígitos
import { isRenavam } from 'validation-br';
import renavam from 'validation-br/renavam';
isRenavam('14283256656');
isRenavam('95059845976');
isRenavam('67747331626');
renavam.validate('95059845976');
renavam.validateOrFail('95059845976');
renavam.fake();
renavam.fake(true);
renavam.mask('95059845976');
renavam.dv('950598459');
isTitulo( value
)
Valida um título eleitoral
import { isTitulo } from 'validation-br';
import titulo from 'validation-br/titulo';
isTitulo('743650641660');
isTitulo('525028881694');
isTitulo('153016161686');
titulo.validate('01234567890');
titulo.validateOrFail('01234567890');
titulo.fake();
titulo.fake(true);
titulo.mask('525028881694');
titulo.dv('5250288816');
Tests

Changelog
- 08/01/2022:
- 0.21.1 - Adicionadas as funções isRenavam e isJudicialProcess
- 16/09/2021:
- 0.5.0 - Adicionadas as funções isCPF, isCNPJ e isTitulo
- 0.7.0 - Adicionadas as funções isPostalCode e isCNH
- 0.8.0 - Adicionada a função isPIS
Referências