br_validators 3.1.0 copy "br_validators: ^3.1.0" to clipboard
br_validators: ^3.1.0 copied to clipboard

BRValidators fornece funções para validação e formatação (máscaras) de dados comuns no Brasil, como CPF, CNPJ, PIS/PASEP, CEP, telefones e CNH.

BRValidators #

Pacote Dart/Flutter com validadores e máscaras de entrada para documentos e dados brasileiros.

Instalação #

dependencies:
  br_validators: ^3.1.0
flutter pub get

Uso #

import 'package:br_validators/br_validators.dart';

Validadores #

CPF #

BRValidators.validateCPF('123.456.789-09'); // true
BRValidators.validateCPF('111.111.111-11'); // false — sequência repetida

CNPJ (alfanumérico — IN RFB 2.229/2024) #

Aceita CNPJ numérico clássico e o novo formato alfanumérico onde as 12 posições base admitem letras A–Z.

BRValidators.validateCNPJ('11.222.333/0001-81'); // true
BRValidators.validateCNPJ('12.ABC.345/0001-05'); // true — alfanumérico

PIS/PASEP #

BRValidators.validatePISPASEP('123.45678.90-1'); // true

CEP #

BRValidators.validateCEP('01310-100'); // true

Telefone fixo #

BRValidators.validateLandlinePhone('(11) 3456-7890'); // true

Celular #

BRValidators.validateMobileNumber('(11) 91234-5678'); // true

Telefone genérico (fixo ou celular) #

BRValidators.validatePhoneNumber('(11) 91234-5678'); // true

CNH #

BRValidators.validateCNH('12345678909'); // true
BRValidators.validateCNH('00000000000'); // false — sequência repetida

Chave PIX #

Aceita CPF, CNPJ, e-mail, telefone (+55 seguido de 10 ou 11 dígitos) e chave aleatória (UUID v4).

BRValidators.validatePixKey('123.456.789-09');                                 // CPF
BRValidators.validatePixKey('user@email.com');                                 // e-mail
BRValidators.validatePixKey('+5511999999999');                                 // celular
BRValidators.validatePixKey('550e8400-e29b-41d4-a716-446655440000');           // UUID v4

Placa veicular #

Aceita formato legado (ABC-1234) e Mercosul (ABC1D23).

BRValidators.validateVehiclePlate('ABC-1234'); // true — legado
BRValidators.validateVehiclePlate('ABC1D23');  // true — Mercosul

RENAVAM #

Aceita 9 ou 11 dígitos (com ou sem prefixo de 2 dígitos).

BRValidators.validateRENAVAM('123456789');    // 9 dígitos
BRValidators.validateRENAVAM('00123456789'); // 11 dígitos

Inscrição Estadual (IE) #

Valida a IE de qualquer um dos 27 estados + DF com o algoritmo de dígito verificador específico de cada UF.

BRValidators.validateIE('062.307.904.0081', 'MG'); // true
BRValidators.validateIE('110.042.490.114',  'SP'); // true
BRValidators.validateIE('12345678',         'RJ'); // false

Título de Eleitor #

BRValidators.validateTituloEleitor('180042490607'); // true
BRValidators.validateTituloEleitor('000000000000'); // false

IBAN Brasil #

Formato: BRkk BBBBB SSSSS CCCCCCCCCC T N (29 caracteres sem espaços).
Valida via algoritmo ISO 13616 (mod 97).

BRValidators.validateIBAN('BR1500000000000010932840814P2'); // true
BRValidators.validateIBAN('BR61 00360305 00001U2550014P4'); // true — espaços ignorados

Passaporte brasileiro #

Formato: 2 letras seguidas de 6 dígitos.

BRValidators.validatePassport('AA123456'); // true
BRValidators.validatePassport('ab654321'); // true — aceita minúsculas

UF #

BRValidators.validateUF('SP'); // true
BRValidators.validateUF('sp'); // true — case-insensitive
BRValidators.validateUF('XX'); // false

NUP (Número Único de Protocolo) #

Formato: OOOOO.SSSSSS/AAAA-DD — validado com módulo 11.

BRValidators.validateNUP('00000.000001/2023-05'); // true
BRValidators.validateNUP('00000000012023-05');    // true — sem formatação

Máscaras #

As máscaras são TextInputFormatter prontos para usar em TextField.

Máscara Atributo Formato
CPF BRMasks.cpf ###.###.###-##
CNPJ BRMasks.cnpj @@.@@@.@@@/@@@@-##
CEP BRMasks.cep #####-###
CNH BRMasks.cnh ###########
Celular BRMasks.mobilePhone (##) #####-####
Telefone fixo BRMasks.landlinePhone (##) ####-####
PIS/PASEP BRMasks.pisPasep ###.#####.##-#
Data BRMasks.date ##/##/####
Placa legado BRMasks.vehiclePlateLegacy @@@-####
Placa Mercosul BRMasks.vehiclePlateMercosul @@@#@##
RENAVAM BRMasks.renavam ###########
IE genérica BRMasks.ie ###.###.###.###
Título de Eleitor BRMasks.tituloEleitor #### #### ####
IBAN BRMasks.iban BR## ##### ##### ##########@#
Passaporte BRMasks.passport @@######
NUP BRMasks.nup #####.######/####-##

# aceita apenas dígitos [0-9]. @ aceita letras e dígitos [A-Za-z0-9].

Exemplo de uso com TextField #

TextField(
  inputFormatters: [BRMasks.cpf],
  decoration: const InputDecoration(labelText: 'CPF'),
),

TextField(
  inputFormatters: [BRMasks.cnpj],
  decoration: const InputDecoration(labelText: 'CNPJ'),
),

Contribuindo #

Contribuições são bem-vindas! Abra uma issue ou PR no repositório GitHub.

Licença #

MIT — consulte o arquivo LICENSE.

8
likes
0
points
1.7k
downloads

Publisher

verified publishernatanlimap.com.br

Weekly Downloads

BRValidators fornece funções para validação e formatação (máscaras) de dados comuns no Brasil, como CPF, CNPJ, PIS/PASEP, CEP, telefones e CNH.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, mask_text_input_formatter

More

Packages that depend on br_validators