Skip to content

carvalhoviniciusluiz/cpf-cnpj-validator

Repository files navigation

cpf-cnpj-validator

Valida e formata strings de CPF ou CNPJ.

travis npm GitHub top language GitHub last commit

Requer:

Node ^8.0.0.

Instalação:

npm i cpf-cnpj-validator -S

Uso:

⚠️ NOTE: Os exemplos estão na versão es6, mas você pode está usando a sintaxe antiga como preferir.

import { cpf } from 'cpf-cnpj-validator';
// or 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.

import { cnpj } from 'cpf-cnpj-validator';
// or 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

joi é uma excelente biblioteca para validação de objetos javascript que permite a construção de mecanismos personalizados. A biblioteca cpf-cnpj-validator disponibiliza um mecanismo personalizado para Joi capaz de validar se uma string pode ser, ou não, um número válido de CPF ou CNPJ:

Para utilizar essa integração é necessário:

npm install joi
import validator from 'cpf-cnpj-validator';
// or
// const { validator } = require('cpf-cnpj-validator')
//
const Joi = require('joi').extend(validator)

const cnpjSchema = Joi.document().cnpj();
const cpfSchema = Joi.document().cpf();

// valida o CPF
cpfSchema.validate('54271113107');
// #=> true

// valida o CNPJ
cnpjSchema.validate('38313108000107');
// #=> true

Maiores informações podem ser obtidas com os testes de validação 1 e validação 2.

Tests

npm test

🚀 Serviços

Site Descrição
GERADOR_CPF Interface para geração de números de CPF
GERADOR_CNPJ Interface para geração de números de CNPJ

License

MIT

Copyright (c) 2020-present