Skip to content

brazilian-utils/dotnet

Repository files navigation

Brazilian Utils .NET

Biblioteca de utilitários para regras de negócio específicas do Brasil.

Build Status NuGet

English version

Instalação

# dotnet CLI
dotnet add package BrazilianUtils

# Package Manager
PM> Install-Package BrazilianUtils

Utilização


CPF

O CPF (Cadastro de Pessoas Físicas) é o registro de identificação do contribuinte individual brasileiro.

Validar

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);              // false

Formatar

Cpf.Format("52945557789");  // "529.455.577-89"

Gerar

Cpf.Generate();  // "38041016588"

CNPJ

O CNPJ (Cadastro Nacional da Pessoa Jurídica) é o número de identificação de entidades jurídicas no Brasil.

Validar

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);                  // false

Formatar

Cnpj.Format("11886541000185");  // "11.886.541/0001-85"

Gerar

// Gerar CNPJ numérico
Cnpj.Generate();             // "13401551551768"

// Gerar CNPJ alfanumérico
Cnpj.GenerateAlphanumeric(); // "AB12CD34EF5601"

CEP

O CEP (Código de Endereçamento Postal) é o código postal brasileiro.

Validar

using BrazilianUtils;

Cep.IsValid("92990-000");  // true
Cep.IsValid("92990000");   // true

Cep.IsValid("12345");      // false (tamanho incorreto)
Cep.IsValid("invalido");   // false

Formatar

Cep.Format("92990000");  // "92990-000"

Boleto

Valida boletos bancários brasileiros nos formatos de código de barras (44 dígitos) e linha digitável (47 dígitos).

Validar

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");  // false

Telefone

Valida números de telefone brasileiros, incluindo formatos de celular e telefone fixo.

Validar

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)

CNH

A CNH (Carteira Nacional de Habilitação) é a carteira de motorista brasileira. Valida o formato de 2022 em diante.

Validar

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)

PIS

O PIS (Programa de Integração Social) é o número de identificação do programa de integração social brasileiro.

Validar

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)

Formatar

Pis.formatPis("12345678909");  // Some "123.45678.90-9"

Gerar

Pis.generate();  // "82178537464"

RENAVAM

O RENAVAM (Registro Nacional de Veículos Automotores) é o número de registro de veículos no Brasil.

Validar

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)

Título de Eleitor

O Título de Eleitor é o documento de registro eleitoral brasileiro.

Validar

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)

Formatar

VoterId.formatVoterId("690847092828");  // Some "6908 4709 28 28"

Gerar

VoterId.generate("SP");  // Some "123456780101" (São Paulo)
VoterId.generate("RJ");  // Some "987654320352" (Rio de Janeiro)
VoterId.generate("ZZ");  // Some "112233440028" (Estrangeiros)

Processo Jurídico

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ígitos
  • DD: Dígitos verificadores de 2 dígitos (Módulo 97 Base 10, ISO 7064:2003)
  • AAAA: Ano com 4 dígitos
  • J: Segmento de justiça de 1 dígito (1-9)
  • TR: Tribunal de 2 dígitos
  • OOOO: Unidade de origem de 4 dígitos

Validar

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)

Formatar

LegalProcess.formatLegalProcess("68476506120233030000");  // Some "6847650-61.2023.3.03.0000"

Gerar

LegalProcess.generate(Some 2024, Some 5);  // Some "12345678720245050000"
LegalProcess.generate(None, None);          // ID de processo jurídico válido aleatório

Placa de Veículo

Valida e formata placas de veículos brasileiros no formato antigo (LLLNNNN) e no formato Mercosul (LLLNLNN).

Validar

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);               // false

Formatar

LicensePlate.formatLicensePlate("ABC1234");  // Some "ABC-1234" (formato antigo)
LicensePlate.formatLicensePlate("abc1e34");  // Some "ABC1E34"  (Mercosul)

Converter para Mercosul

LicensePlate.convertToMercosul("ABC4567");  // Some "ABC4F67"

Obter Formato

LicensePlate.getFormat("ABC1234");  // Some "LLLNNNN"
LicensePlate.getFormat("ABC1D23");  // Some "LLLNLNN"

Gerar

LicensePlate.generate(None);                // Some "ABC1D23" (Mercosul por padrão)
LicensePlate.generate(Some "LLLNLNN");      // Some "XYZ2E45" (Mercosul)
LicensePlate.generate(Some "LLLNNNN");      // Some "ABC1234" (Formato antigo)

Moeda

Utilitários para formatação e conversão de texto do Real brasileiro (BRL).

Formatar Moeda

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"

Converter para Texto

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"

Utilitários

Funções utilitárias gerais para manipulação de strings.

Extrair Apenas Números

using BrazilianUtils;

Helpers.OnlyNumbers("123abc456");          // "123456"
Helpers.OnlyNumbers("(11) 9999-0000");     // "1199990000"
Helpers.OnlyNumbers("CPF: 529.455.577-89"); // "52945557789"

Contribuindo

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.

Licença

Este projeto é open source e está disponível sob a Licença MIT.

About

Utils library for specific Brazilian businesses

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages