Valida e formata strings de CPF ou CNPJ.
npm i cpf-cnpj-validator -S
Requer Node >=8.0.0
.
const { cpf } = require('cpf-cnpj-validator');
// gera um número de cpf
const num = cpf.generate();
// #=> 25634428777
// verifica se é um número válido
cpf.isValid(num);
// #=> true
// formata o número gerado
cpf.format(num);
// #=> 256.344.287-77
NOTE: os módulos de cpf e cnpj possuem métodos nomeados de forma igual diferindo se apenas os resultados.
const { cnpj } = require('cpf-cnpj-validator');
// gera um número de cpnj
const num = cnpj.generate();
// #=> 58403919000106
// verifica se é um número válido
cnpj.isValid(num);
// #=> true
// formata o número gerado
cnpj.format(num);
// #=> 58.403.919/0001-06
Veja mais exemplos práticos consultando os testes para CPF e CNPJ.
Joi é uma excelente biblioteca para validação de objetos javascript que permite a construção de mecanismos personalizados para tal. A biblioteca cpf-cnpj-validator disponibiliza um mecanismo personalizado para Joi capas de validar se uma string pode ser, ou não, um número válido de CPF ou CNPJ:
const Joi = require('joi').extend(require('cpf-cnpj-validator'));
const cnpjSchema = Joi.document().cnpj();
const cpfSchema = Joi.document().cpf();
// valida o CPF
Joi.validate('54271113107', cpfSchema);
// #=> true
// valida o CNPJ
Joi.validate('38313108000107', cnpjSchema);
// #=> true
Maiores informações podem ser obtidas com o teste de validação.
npm test
Copyright (c) 2018-present