#de #para #brasil #documentos #eficiente #maneira #aplicações

rust-br

Valide documentos, e-mails e telefones de maneira fácil e eficiente para suas aplicações no Brasil

2 releases (1 stable)

1.0.1 Jan 5, 2025
0.4.0 Jan 5, 2025
0.3.2 Jan 5, 2025
0.2.1 Jan 4, 2025

#46 in Email

Download history 289/week @ 2025-01-01 19/week @ 2025-01-08

308 downloads per month

MIT license

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

LinkedIn: https://www.linkedin.com/in/thiagochmoreira/

No runtime deps