rust-validador 0.1.0

Aula de como criar uma crate
Documentation
  • Coverage
  • 0%
    0 out of 2 items documented0 out of 1 items with examples
  • Size
  • Source code size: 6.63 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 238.03 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 2s Average build duration of successful builds.
  • all releases: 4s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • Documentation
  • EliasMendes-dev/rust-crate-validador
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • EliasMendes-dev

Validador de CPF

Uma biblioteca Rust simples para validação de números de CPF brasileiros.

Funcionalidades

  • Aceita CPF com ou sem formatação.
  • Remove automaticamente caracteres não numéricos.
  • Verifica se o CPF possui 11 dígitos.
  • Rejeita CPFs com todos os dígitos iguais.
  • Valida os dois dígitos verificadores conforme o algoritmo oficial.

Instalação

Adicione a dependência ao seu Cargo.toml:

[dependencies]

validador_cpf = "0.1.0"

Uso

use validador_cpf::validar_cpf;

fn main() {
    println!("{}", validar_cpf("529.982.247-25"));
    println!("{}", validar_cpf("52998224725"));
}

Exemplos

CPF válido

assert!(validar_cpf("529.982.247-25"));
assert!(validar_cpf("52998224725"));

CPF inválido

assert!(!validar_cpf("111.111.111-11"));
assert!(!validar_cpf("123.456.789-00"));
assert!(!validar_cpf("123"));

API

validar_cpf

pub fn validar_cpf(cpf: &str) -> bool

Recebe um CPF como string e retorna:

Retorno Significado
true CPF válido
false CPF inválido

Como funciona

A validação segue as regras oficiais do CPF:

  1. Remove caracteres não numéricos.
  2. Verifica se existem exatamente 11 dígitos.
  3. Rejeita sequências com todos os dígitos iguais.
  4. Calcula o primeiro dígito verificador.
  5. Calcula o segundo dígito verificador.
  6. Compara os resultados com os dígitos informados.

Licença

Este projeto está licenciado sob a licença MIT.