Biblioteca de utilitários para regras de negócio específicas do Brasil.
# dotnet CLI
dotnet add package BrazilianUtils
# Package Manager
PM> Install-Package BrazilianUtils- CPF
- CNPJ
- CEP
- Boleto
- Telefone
- CNH
- PIS
- RENAVAM
- Título de Eleitor
- Processo Jurídico
- Placa de Veículo
- Moeda
- Utilitários
O CPF (Cadastro de Pessoas Físicas) é o registro de identificação do contribuinte individual brasileiro.
using BrazilianUtils;
Cpf.IsValid("529.455.577-89"); // true
Cpf.IsValid("52945557789"); // true
Cpf.IsValid("cpf-invalido"); // false
Cpf.IsValid("111.111.111-11"); // false (dígitos repetidos)
Cpf.IsValid(""); // false
Cpf.IsValid(null); // falseCpf.Format("52945557789"); // "529.455.577-89"Cpf.Generate(); // "38041016588"O CNPJ (Cadastro Nacional da Pessoa Jurídica) é o número de identificação de entidades jurídicas no Brasil.
using BrazilianUtils;
Cnpj.IsValid("11.886.541/0001-85"); // true
Cnpj.IsValid("11886541000185"); // true
// CNPJ Alfanumérico (Instrução Normativa RFB nº 2.119)
Cnpj.IsValid("AA.BBB.CCC/DDDD-01"); // true (se os dígitos verificadores forem válidos)
Cnpj.IsValid("cnpj-invalido"); // false
Cnpj.IsValid(""); // false
Cnpj.IsValid(null); // falseCnpj.Format("11886541000185"); // "11.886.541/0001-85"// Gerar CNPJ numérico
Cnpj.Generate(); // "13401551551768"
// Gerar CNPJ alfanumérico
Cnpj.GenerateAlphanumeric(); // "AB12CD34EF5601"O CEP (Código de Endereçamento Postal) é o código postal brasileiro.
using BrazilianUtils;
Cep.IsValid("92990-000"); // true
Cep.IsValid("92990000"); // true
Cep.IsValid("12345"); // false (tamanho incorreto)
Cep.IsValid("invalido"); // falseCep.Format("92990000"); // "92990-000"Valida boletos bancários brasileiros nos formatos de código de barras (44 dígitos) e linha digitável (47 dígitos).
using BrazilianUtils;
// Linha digitável (47 dígitos)
Boleto.IsValid("00198.10001 00030.212237 00217.236553 1 35742800321323"); // true
// Código de barras (44 dígitos)
Boleto.IsValid("00193357428003213230001000302122700021723655"); // true
Boleto.IsValid("boleto-invalido"); // falseValida números de telefone brasileiros, incluindo formatos de celular e telefone fixo.
using BrazilianUtils;
// Celular (11 dígitos com o nono dígito)
Phone.IsValid("(51) 99922-3344"); // true
Phone.IsValid("51999223344"); // true
// Telefone fixo (10 dígitos)
Phone.IsValid("(11) 3344-5566"); // true
Phone.IsValid("1133445566"); // true
Phone.IsValid("(11) 9000-0000"); // false (primeiro dígito inválido)
Phone.IsValid("1234567"); // false (tamanho incorreto)A CNH (Carteira Nacional de Habilitação) é a carteira de motorista brasileira. Valida o formato de 2022 em diante.
using BrazilianUtils;
Cnh.isValidCnh("98765432100"); // true
Cnh.isValidCnh("987654321-00"); // true (símbolos são ignorados)
Cnh.isValidCnh("12345678901"); // false (dígitos verificadores inválidos)
Cnh.isValidCnh("00000000000"); // false (dígitos repetidos)
Cnh.isValidCnh("A2C45678901"); // false (não numérico)O PIS (Programa de Integração Social) é o número de identificação do programa de integração social brasileiro.
using BrazilianUtils;
Pis.isValid("82178537464"); // true
Pis.isValid("55550207753"); // true
Pis.isValid("12345678901"); // false (dígito verificador inválido)
Pis.isValid("1234567"); // false (tamanho incorreto)Pis.formatPis("12345678909"); // Some "123.45678.90-9"Pis.generate(); // "82178537464"O RENAVAM (Registro Nacional de Veículos Automotores) é o número de registro de veículos no Brasil.
using BrazilianUtils;
Renavam.isValidRenavam("86769597308"); // true
Renavam.isValidRenavam("12345678901"); // false (dígito verificador inválido)
Renavam.isValidRenavam("11111111111"); // false (dígitos repetidos)
Renavam.isValidRenavam("1234567"); // false (tamanho incorreto)O Título de Eleitor é o documento de registro eleitoral brasileiro.
using BrazilianUtils;
VoterId.isValid("690847092828"); // true
VoterId.isValid("163204010922"); // true
VoterId.isValid("123456789012"); // false (dígitos verificadores inválidos)
VoterId.isValid("12345"); // false (tamanho incorreto)VoterId.formatVoterId("690847092828"); // Some "6908 4709 28 28"VoterId.generate("SP"); // Some "123456780101" (São Paulo)
VoterId.generate("RJ"); // Some "987654320352" (Rio de Janeiro)
VoterId.generate("ZZ"); // Some "112233440028" (Estrangeiros)Valida números de processos jurídicos brasileiros seguindo o padrão de numeração única do CNJ (Conselho Nacional de Justiça).
Formato: NNNNNNN-DD.AAAA.J.TR.OOOO
NNNNNNN: Número sequencial de 7 dígitosDD: Dígitos verificadores de 2 dígitos (Módulo 97 Base 10, ISO 7064:2003)AAAA: Ano com 4 dígitosJ: Segmento de justiça de 1 dígito (1-9)TR: Tribunal de 2 dígitosOOOO: Unidade de origem de 4 dígitos
using BrazilianUtils;
LegalProcess.isValid("6847650-61.2023.3.03.0000"); // true
LegalProcess.isValid("68476506120233030000"); // true
LegalProcess.isValid("68476506020233030000"); // false (dígito verificador incorreto)
LegalProcess.isValid("123"); // false (tamanho incorreto)LegalProcess.formatLegalProcess("68476506120233030000"); // Some "6847650-61.2023.3.03.0000"LegalProcess.generate(Some 2024, Some 5); // Some "12345678720245050000"
LegalProcess.generate(None, None); // ID de processo jurídico válido aleatórioValida e formata placas de veículos brasileiros no formato antigo (LLLNNNN) e no formato Mercosul (LLLNLNN).
using BrazilianUtils;
// Formato antigo (LLLNNNN)
LicensePlate.isValid("ABC1234", Some "old_format"); // true
LicensePlate.isValid("ABC1234", None); // true
// Formato Mercosul (LLLNLNN)
LicensePlate.isValid("ABC1D23", Some "mercosul"); // true
LicensePlate.isValid("ABC1D23", None); // true
LicensePlate.isValid("ABCD123", None); // falseLicensePlate.formatLicensePlate("ABC1234"); // Some "ABC-1234" (formato antigo)
LicensePlate.formatLicensePlate("abc1e34"); // Some "ABC1E34" (Mercosul)LicensePlate.convertToMercosul("ABC4567"); // Some "ABC4F67"LicensePlate.getFormat("ABC1234"); // Some "LLLNNNN"
LicensePlate.getFormat("ABC1D23"); // Some "LLLNLNN"LicensePlate.generate(None); // Some "ABC1D23" (Mercosul por padrão)
LicensePlate.generate(Some "LLLNLNN"); // Some "XYZ2E45" (Mercosul)
LicensePlate.generate(Some "LLLNNNN"); // Some "ABC1234" (Formato antigo)Utilitários para formatação e conversão de texto do Real brasileiro (BRL).
using BrazilianUtils;
Currency.formatCurrency(1234.56M); // Some "R$ 1.234,56"
Currency.formatCurrency(-1234.56M); // Some "R$ -1.234,56"
Currency.formatCurrency(0M); // Some "R$ 0,00"Currency.convertRealToText(1523.45M);
// Some "Mil, quinhentos e vinte e três reais e quarenta e cinco centavos"
Currency.convertRealToText(1.00M);
// Some "Um real"
Currency.convertRealToText(0.50M);
// Some "Cinquenta centavos"
Currency.convertRealToText(0.00M);
// Some "Zero reais"
Currency.convertRealToText(-100.00M);
// Some "Menos cem reais"
Currency.convertRealToText(1000000.00M);
// Some "Um milhão de reais"Funções utilitárias gerais para manipulação de strings.
using BrazilianUtils;
Helpers.OnlyNumbers("123abc456"); // "123456"
Helpers.OnlyNumbers("(11) 9999-0000"); // "1199990000"
Helpers.OnlyNumbers("CPF: 529.455.577-89"); // "52945557789"Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request. Para mudanças significativas, por favor abra uma issue primeiro para discutir o que você gostaria de alterar.
Este projeto é open source e está disponível sob a Licença MIT.