PHPackages                             br-validation/docs - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Validation &amp; Sanitization](/categories/validation)
4. /
5. br-validation/docs

ActiveLibrary[Validation &amp; Sanitization](/categories/validation)

br-validation/docs
==================

Validação de documentos brasileiros

v1.0.0(1mo ago)12↓100%MITPHPPHP &gt;=7.4

Since Mar 14Pushed 1mo agoCompare

[ Source](https://github.com/milamonti/br-docs)[ Packagist](https://packagist.org/packages/br-validation/docs)[ RSS](/packages/br-validation-docs/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

BrDocs - Validação de Documentos Brasileiros
============================================

[](#brdocs---validação-de-documentos-brasileiros)

Biblioteca PHP para validação, formatação e geração de documentos brasileiros.

Instalação
----------

[](#instalação)

```
composer require br-validation/docs
```

Documentos Suportados
---------------------

[](#documentos-suportados)

DocumentoTipoValidaçãoFormataçãoGeraçãoCPF`cpf`✅✅✅CNPJ`cnpj`✅✅✅CPF/CNPJ (auto)`cpf_cnpj`✅✅—CEP`cep`✅✅✅CNH`cnh`✅✅✅PIS/PASEP/NIT`pis`✅✅✅Título de Eleitor`titulo_eleitor`✅✅✅Inscrição Estadual`ie`✅✅✅RENAVAM`renavam`✅✅✅Certidão`certidao`✅✅✅Telefone`telefone`✅✅✅Uso Rápido
----------

[](#uso-rápido)

### Usando a classe de fachada `BrDocs`

[](#usando-a-classe-de-fachada-brdocs)

```
use Validation\BrDocs\BrDocs;

// Validação genérica por tipo
BrDocs::validate('cpf', '123.456.789-09');    // true ou false
BrDocs::validate('cnpj', '11.222.333/0001-81'); // true ou false
BrDocs::validate('cep', '01001-000');          // true ou false

// Validar e lançar exceção se inválido
BrDocs::validateOrFail('cpf', '000.000.000-00'); // Lança DocumentException

// Formatação
BrDocs::format('cpf', '12345678909');        // '123.456.789-09'
BrDocs::format('cnpj', '11222333000181');     // '11.222.333/0001-81'
BrDocs::format('cep', '01001000');            // '01001-000'
BrDocs::format('telefone', '11999887766');    // '(11) 99988-7766'

// Sanitização (remover formatação)
BrDocs::sanitize('cpf', '123.456.789-09');   // '12345678909'

// Geração de documentos válidos
BrDocs::generate('cpf');                      // '12345678909'
BrDocs::generate('cpf', true);               // '123.456.789-09'
BrDocs::generate('cnpj', true);              // '11.222.333/0001-81'

// Validação múltipla
BrDocs::validateMany([
    'cpf'  => '123.456.789-09',
    'cnpj' => '11.222.333/0001-81',
    'cep'  => '01001-000',
]); // ['cpf' => true, 'cnpj' => true, 'cep' => true]
```

### Usando métodos de atalho

[](#usando-métodos-de-atalho)

```
use Validation\BrDocs\BrDocs;

// CPF
BrDocs::validateCpf('123.456.789-09');
BrDocs::formatCpf('12345678909');
BrDocs::generateCpf(true);

// CNPJ
BrDocs::validateCnpj('11.222.333/0001-81');
BrDocs::formatCnpj('11222333000181');
BrDocs::generateCnpj(true);

// CPF/CNPJ automático
BrDocs::validateCpfCnpj('123.456.789-09');  // Detecta CPF e valida
BrDocs::validateCpfCnpj('11.222.333/0001-81'); // Detecta CNPJ e valida
BrDocs::detectCpfCnpj('12345678909');        // 'cpf'
BrDocs::detectCpfCnpj('11222333000181');     // 'cnpj'

// CEP
BrDocs::validateCep('01001-000');
BrDocs::formatCep('01001000');
BrDocs::getCepRegion('01001000'); // 'Grande São Paulo'

// Telefone
BrDocs::validateTelefone('(11) 99988-7766');
BrDocs::formatTelefone('11999887766');
BrDocs::isCellphone('11999887766');  // true
BrDocs::isLandline('1133334444');    // true

// Outros
BrDocs::validateCnh('04965101679');
BrDocs::validatePis('123.45678.90-1');
BrDocs::validateTituloEleitor('123456780612');
BrDocs::validateRenavam('63abortar905');
BrDocs::validateInscricaoEstadual('123456789');
BrDocs::validateInscricaoEstadualByUf('110042490114', 'SP');
BrDocs::validateCertidao('10452601552014100032003000000012');
```

### Usando validadores individuais

[](#usando-validadores-individuais)

```
use Validation\BrDocs\Validators\Cpf;
use Validation\BrDocs\Validators\Cnpj;
use Validation\BrDocs\Validators\Cep;

Cpf::validate('123.456.789-09');
Cpf::format('12345678909');
Cpf::sanitize('123.456.789-09');
Cpf::generate(true);

Cnpj::validate('11.222.333/0001-81');
Cep::getRegion('01001-000');
```

Utilitários
-----------

[](#utilitários)

```
// Listar tipos suportados
BrDocs::supportedTypes();
// ['cpf', 'cnpj', 'cpf_cnpj', 'cpfcnpj', 'cep', 'cnh', 'pis', ...]

// Verificar se um tipo é suportado
BrDocs::isSupported('cpf');  // true
BrDocs::isSupported('xyz');  // false
```

Tratamento de Erros
-------------------

[](#tratamento-de-erros)

```
use Validation\BrDocs\BrDocs;
use Validation\BrDocs\Exceptions\DocumentException;

try {
    BrDocs::validateOrFail('cpf', '000.000.000-00');
} catch (DocumentException $e) {
    echo $e->getMessage(); // 'O CPF informado "000.000.000-00" é inválido.'
}

try {
    BrDocs::validate('xyz', '12345');
} catch (DocumentException $e) {
    echo $e->getMessage(); // 'O tipo de documento "xyz" não é suportado.'
}
```

Licença
-------

[](#licença)

MIT

###  Health Score

36

—

LowBetter than 81% of packages

Maintenance95

Actively maintained with recent releases

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity33

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

56d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/532d0d14cd09574522fec5be326624df5e3da7c713dfee1ae27ed358ec8e6cf6?d=identicon)[milamonti](/maintainers/milamonti)

---

Top Contributors

[![milamonti](https://avatars.githubusercontent.com/u/209383225?v=4)](https://github.com/milamonti "milamonti (7 commits)")

---

Tags

brazildocumentsvalidationvalidationbr-docs

### Embed Badge

![Health badge](/badges/br-validation-docs/health.svg)

```
[![Health](https://phpackages.com/badges/br-validation-docs/health.svg)](https://phpackages.com/packages/br-validation-docs)
```

###  Alternatives

[composer/semver

Version comparison library that offers utilities, version constraint parsing and validation.

3.3k489.6M671](/packages/composer-semver)[giggsey/libphonenumber-for-php

A library for parsing, formatting, storing and validating international phone numbers, a PHP Port of Google's libphonenumber.

5.0k148.7M414](/packages/giggsey-libphonenumber-for-php)[respect/validation

The most awesome validation engine ever created for PHP

5.9k37.4M381](/packages/respect-validation)[propaganistas/laravel-phone

Adds phone number functionality to Laravel based on Google's libphonenumber API.

3.0k35.7M106](/packages/propaganistas-laravel-phone)[opis/json-schema

Json Schema Validator for PHP

64236.9M185](/packages/opis-json-schema)[giggsey/libphonenumber-for-php-lite

A lite version of giggsey/libphonenumber-for-php, which is a PHP Port of Google's libphonenumber

8412.9M47](/packages/giggsey-libphonenumber-for-php-lite)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
