2 releases (1 stable)
1.0.1 | Jan 5, 2025 |
---|---|
0.4.0 |
|
0.3.2 |
|
0.2.1 | Jan 4, 2025 |
#46 in Email
308 downloads per month
17KB
276 lines
Rust-BR
Rust-BR é uma crate robusta e versátil desenvolvida para validar uma ampla gama de documentos e informações brasileiras, incluindo CPF, CNPJ, e muito mais, de maneira simples e eficiente.
Descrição
Inicialmente concebida para lidar com a validação de documentos essenciais como CPF, CNPJ e CNH, a Rust-BR se destaca como uma ferramenta indispensável para aplicações que envolvem o cadastro de pessoas físicas e jurídicas no Brasil.
Expansão de Funcionalidades
Reconhecendo a crescente demanda por validações abrangentes, expandimos suas capacidades para incluir não apenas documentos, mas também e-mails, telefones e URLs. Todas essas funcionalidades são implementadas puramente com Rust Vanilla, sem a adição de dependências externas.
Importante
É crucial destacar que a Rust-BR não verifica a associação de documentos a indivíduos específicos. Nossa função é assegurar que os dados fornecidos estejam em conformidade com os padrões estabelecidos pelos órgãos reguladores pertinentes a cada tipo de documento.
Lista de Documentos
• CPF • CNPJ • CNH • Passaporte Brasileiro* • CTPS (Em Breve) • Título de Eleitor (Em Breve) • Certidão de Nascimento (Em Breve) • Certidão de Casamento (Em Breve) • Certidão de Óbito (Em Breve)
- Aceita a entrada de caracteres maiúsculos e minusculos.
Lista de Validadores
• E-mail • Telefone • URL
Instalação
Para usar o Rust-BR em seu projeto, adicione a seguinte dependência ao seu Cargo.toml
:
[dependencies]
rust-br = "1.0.1"
Como Usar
A crate oferece funções para verificar a validade de CPF e CNPJ. Aqui estão alguns exemplos de como usá-las:
Verificação de CPF
use rust_br::cpf;
fn main() {
let numero_cpf = "12345678909";
if cpf(numero_cpf) {
println!("CPF válido!");
} else {
println!("CPF inválido.");
}
}
Verificação de CNPJ
use rust_br::cnpj;
fn main() {
let numero_cnpj = "11444777000161";
if cnpj(numero_cnpj) {
println!("CNPJ válido!");
} else {
println!("CNPJ inválido.");
}
}
Verificação de CNH
use rust_br::cnh;
fn main() {
let numero_cnh = "12345678910";
if cnh(numero_cnh) {
println!("CNH válido!");
} else {
println!("CNH inválido.");
}
}
Verificação de Passaporte Brasileiro
use rust_br::passport;
fn main() {
let passaporte = "AA112233";
if cnh(passaporte) {
println!("Passaporte Brasileiro válido!");
} else {
println!("Passaporte Brasileiro inválido.");
}
}
Verificação de E-mail
use rust_br::mail;
fn main() {
let email1 = "usuario@example.com";
let email2 = "usuario@exemplo";
if mail(email1) {
println!("'{}' é um e-mail válido!", email1);
} else {
println!("'{}' é um e-mail inválido.", email1);
}
if mail(email2) {
println!("'{}' é um e-mail válido!", email2);
} else {
println!("'{}' é um e-mail inválido.", email2);
}
}
Verificação de Telefones Válidos (Identifica DDD e Área)
// Número Fixo Válido com DDD de São Paulo
use rust_br::phone;
fn main() {
let numero_telefone = "1134567890";
let resultado = phone(numero_telefone);
if resultado.is_valid {
println!("Número de telefone válido!");
println!("Estado: {}", resultado.state.unwrap());
println!("Região: {}", resultado.region.unwrap());
} else {
println!("Número de telefone inválido.");
}
}
// Número Móvel Válido com DDD de Santa Catarina
use rust_br::phone;
fn main() {
let numero_telefone = "48987654321";
let resultado = phone(numero_telefone);
if resultado.is_valid {
println!("Número de telefone válido!");
println!("Estado: {}", resultado.state.unwrap());
println!("Região: {}", resultado.region.unwrap());
} else {
println!("Número de telefone inválido.");
}
}
Verificação de URL
use rust_br::url;
fn main() {
let url1 = "https://www.example.com";
let url2 = "ftp://example.com";
let url3 = "http://invalid_domain";
if url(url1) {
println!("'{}' é uma URL válida!", url1);
} else {
println!("'{}' é uma URL inválida.", url1);
}
if url(url2) {
println!("'{}' é uma URL válida!", url2);
} else {
println!("'{}' é uma URL inválida.", url2);
}
if url(url3) {
println!("'{}' é uma URL válida!", url3);
} else {
println!("'{}' é uma URL inválida.", url3);
}
}
Contribuindo
Contribuições são bem-vindas! Se você encontrar algum problema ou tiver sugestões de melhorias, sinta-se à vontade para abrir uma issue ou enviar um pull request.
Licença
Este projeto está licenciado sob a Licença MIT
Contato
Autor: Thiago C H Moreira