https://github.com/carvalhoviniciusluiz/cpf-cnpj-validator
Valida e formata strings de CPF ou CNPJ.
https://github.com/carvalhoviniciusluiz/cpf-cnpj-validator
cnpj cpf joi node validator
Last synced: about 1 month ago
JSON representation
Valida e formata strings de CPF ou CNPJ.
- Host: GitHub
- URL: https://github.com/carvalhoviniciusluiz/cpf-cnpj-validator
- Owner: carvalhoviniciusluiz
- License: mit
- Created: 2018-09-03T12:46:58.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-03-04T02:49:56.000Z (about 2 years ago)
- Last Synced: 2024-05-17T04:43:59.590Z (12 months ago)
- Topics: cnpj, cpf, joi, node, validator
- Language: TypeScript
- Homepage:
- Size: 1 MB
- Stars: 201
- Watchers: 5
- Forks: 25
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# cpf-cnpj-validator
Valida e formata strings de CPF ou CNPJ.[![travis][travis-image]][travis-url]
[![npm][npm-image]][npm-url]

[travis-image]: https://travis-ci.org/carvalhoviniciusluiz/cpf-cnpj-validator.svg?branch=master
[travis-url]: https://travis-ci.org/carvalhoviniciusluiz/cpf-cnpj-validator
[npm-image]: https://img.shields.io/npm/v/cpf-cnpj-validator.svg?style=flat
[npm-url]: https://npmjs.org/package/cpf-cnpj-validator### Requer:
Node ``^8.0.0``.### Instalação:
```
npm i cpf-cnpj-validator -S
```### Uso:
:warning: __NOTE__: Os exemplos estão na versão es6, mas você pode está usando a sintaxe antiga como preferir.
```js
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
```:warning: __NOTE__: Os módulos de cpf e cnpj possuem métodos nomeados de forma igual diferindo se apenas os resultados.
```js
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](./test/cpf.test.ts) e [CNPJ.](./test/cpf.test.ts)
### Joi
[joi](https://www.npmjs.com/package/joi) é uma excelente biblioteca para validação de objetos javascript que permite a construção de mecanismos personalizados.
A biblioteca [cpf-cnpj-validator](https://www.npmjs.com/package/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
``````js
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](./test/validator.1.test.ts) e [validação 2](./test/validator.2.test.ts).
### Tests
```shell
npm test
```### :rocket: 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 |[GERADOR_CPF]: https://geradorcpf.org/
[GERADOR_CNPJ]: https://geradorcnpj.org/## License
[MIT](http://opensource.org/licenses/MIT)
Copyright (c) 2020-present