Download the PHP package casilhero/brazilian-validators without Composer
On this page you can find all versions of the php package casilhero/brazilian-validators. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package brazilian-validators
# casilhero/brazilian-validators
Biblioteca PHP para validação de documentos e identificadores brasileiros. Sem dependência de framework — funciona em qualquer projeto PHP puro, Laravel, Symfony, etc.
Veja também as versões para outros ambientes: Laravel · JavaScript / TypeScript
Requisitos
- PHP
^8.1
Instalação
Validadores disponíveis
| Validador | Classe | Descrição |
|---|---|---|
| CPF | Validators\Cpf |
Valida CPF com dígito verificador |
| CNPJ | Validators\Cnpj |
Valida CNPJ com dígito verificador |
| CPF ou CNPJ | Validators\CpfCnpj |
Detecta o tipo e valida automaticamente |
| SUFRAMA | Validators\Suframa |
Valida inscrição SUFRAMA |
| NIS/PIS | Validators\NisPis |
Valida NIS/PIS com dígito verificador |
| Telefone BR | Validators\Phone |
Valida DDD + número local (8 ou 9 dígitos) |
| Telefone BR com DDI | Validators\PhoneDdi |
Exige prefixo 55 + validação nacional |
| CNH | Validators\Cnh |
Valida CNH pelos dois dígitos verificadores |
| CNS | Validators\Cns |
Valida Cartão Nacional de Saúde |
| RENAVAM | Validators\Renavam |
Valida RENAVAM com dígito verificador |
| Chassi | Validators\Chassi |
Valida número de chassi (padrão VIN) |
| Título de Eleitor | Validators\TituloEleitor |
Valida título de eleitor (8, 9 ou 10 dígitos) |
| Inscrição Estadual | Validators\InscricaoEstadual |
Valida IE de todos os 26 estados + DF (ver tabela abaixo) |
| Certidão | Validators\Certidao |
Valida número de certidão do Registro Civil (CNJ, 32 dígitos) |
| Passaporte | Validators\Passaporte |
Valida passaporte brasileiro (2 letras + 6 dígitos) |
| CAEPF | Validators\Caepf |
Valida CAEPF (Cadastro de Atividade Econômica da Pessoa Física) |
| Processo Judicial | Validators\ProcessoJudicial |
Valida número CNJ (Res. 65/2008): NNNNNNN-DD.AAAA.J.TR.OOOO |
| Boleto | Validators\Boleto |
Valida boleto bancário (47 dígitos) e de arrecadação (48 dígitos) |
Inscrição Estadual — estados suportados
Os algoritmos foram verificados individualmente contra os roteiros oficiais de crítica publicados pelo SINTEGRA.
| UF | Tamanho | Observações |
|---|---|---|
| AC | 13 dígitos | Prefixo 01; 2 DVs (mod 11) |
| AL | 9 dígitos | Prefixo 24; 1 DV (mod 11) |
| AM | 9 dígitos | 1 DV (mod 11) |
| AP | 9 dígitos | Prefixo 03; 1 DV (mod 11); regras especiais para faixas 03000840–03017600 |
| BA | 8 ou 9 dígitos | 2 DVs; módulo 10 ou 11 conforme 1º dígito (8d) ou 2º dígito (9d) |
| CE | 9 dígitos | 1 DV (mod 11) |
| DF | 13 dígitos | Prefixo 07; 2 DVs (mod 11, ciclo 2–9) |
| ES | 9 dígitos | 1 DV (mod 11) |
| GO | 9 dígitos | Prefixos 10, 11 ou 20–29; 1 DV (mod 11) |
| MA | 9 dígitos | Prefixo 12; 1 DV (mod 11) |
| MG | 13 dígitos | 2 DVs; DV1 com soma de algarismos dos produtos (pesos 1×2); DV2 (mod 11, ciclo 3–11) |
| MS | 9 dígitos | Prefixo 28 ou 50; 1 DV (mod 11) |
| MT | 11 dígitos | 1 DV (mod 11, ciclo 3–9) |
| PA | 9 dígitos | Prefixos 15, 75–79; 1 DV (mod 11) |
| PB | 9 dígitos | 1 DV (mod 11) |
| PE | 9 dígitos (novo) | 2 DVs (mod 11) |
| PE | 14 dígitos (antigo CACEPE) | 1 DV (mod 11, ciclo 1–9); >9 → −10 |
| PI | 9 dígitos | 1 DV (mod 11) |
| PR | 10 dígitos | 2 DVs (mod 11, pesos ciclo 2–7) |
| RJ | 8 dígitos | 1 DV (mod 11, pesos 2,7,6,5,4,3,2) |
| RN | 9 ou 10 dígitos | Prefixo 20; 1 DV via (soma×10) % 11 |
| RO | 9 dígitos (antigo) ou 14 dígitos (novo) | 1 DV (mod 11); >10 → −10 |
| RR | 9 dígitos | Prefixo 24; 1 DV (soma × posições 1–8) mod 9 |
| RS | 10 dígitos | 1 DV (mod 11, ciclo 2–9) |
| SC | 9 dígitos | 1 DV (mod 11); resto < 2 → 0 |
| SE | 9 dígitos | 1 DV (mod 11); ≥ 10 → 0 |
| SP | 12 dígitos (padrão) | 2 DVs; pesos 1,3,4,5,6,7,8,10 e 3,2,10,9,8,7,6,5,4,3,2; resto % 10 |
| SP | 13 caracteres P… (produtor rural) |
1 DV; mesmos pesos do DV1 padrão; resto % 10 |
| TO | 11 dígitos | Posições 3–4 indicam tipo (01/02/03/99) e não entram no cálculo; 1 DV (mod 11) |
Referência técnica: SINTEGRA — Roteiros de Crítica da Inscrição Estadual
API
Todos os validadores expõem os seguintes métodos estáticos:
Nota:
InscricaoEstadualnão implementagenerate()nemmask()por depender de algoritmos específicos por UF. Os métodosCertidao::parse()eBoleto::parse()estão disponíveis para extrair os campos estruturados do número (ver exemplos).
ValidationResult
Retornado por validate(). Útil quando você precisa do motivo da reprovação.
Códigos de erro
| Código | Significado |
|---|---|
invalid_length |
Tamanho incorreto |
invalid_format |
Formato não reconhecido |
invalid_checksum |
Dígito verificador inválido |
invalid_region |
Região/DDD/tribunal inválido |
invalid_prefix |
Prefixo não permitido |
BrazilianValidator — façade estática central
Agrega todos os validadores em uma única classe para uso centralizado:
Exemplos
Validação simples
Validação com retorno detalhado
Geração de dados de teste
Parse de certidão
Parse de boleto
Compatibilidade
| Componente | Versão suportada |
|---|---|
| PHP | ^8.1 (inclui 8.2, 8.3, 8.4 e 8.5) |
| Framework | Qualquer (ou PHP puro) |
| Laravel | via casilhero/brazilian-validators-laravel |
Testes
Versionamento
Segue SemVer:
MAJOR— quebra de compatibilidade na API públicaMINOR— novas funcionalidades compatíveis com versões anterioresPATCH— correções sem quebra de contrato
Licença
MIT