#parser #format #validation #cpf #cnpj

brids

Parse and generate random CPF/ICN and CNPJ, Brazil's ID numbers

6 releases (3 breaking)

0.4.0 Dec 21, 2018
0.3.1 Jun 19, 2018
0.3.0 Apr 8, 2018
0.2.1 Mar 29, 2018
0.1.0 Mar 28, 2018

#2019 in Parser implementations

Download history 10/week @ 2023-10-26 3/week @ 2023-11-02 3/week @ 2023-11-09 2/week @ 2023-11-16 12/week @ 2023-11-23 22/week @ 2023-11-30 9/week @ 2023-12-07 7/week @ 2023-12-14 12/week @ 2023-12-21 8/week @ 2023-12-28 9/week @ 2024-01-18 12/week @ 2024-01-25 15/week @ 2024-02-01 16/week @ 2024-02-08

52 downloads per month

MIT/Apache

34KB
628 lines

brids

Parse and generate random CPF/ICN and CNPJ, Brazil's ID numbers.

Usage

Add the following to your Cargo.toml:

[dependencies]
brids = "0.4"

Examples

Parse and format:

use brids::Cpf;
use std::io::{stdin, stdout, Write};

fn main() {
    print!("Input a CPF/ICN number: ");
    stdout().flush().ok();

    let mut input = String::with_capacity(14);
    stdin().read_line(&mut input).ok();

    match input.trim().parse::<Cpf>() {
        Ok(cpf) => println!("{} is a valid number.", cpf),
        Err(err) => println!("Error: {}", err),
    }
}

Generate random CNPJ and CPF/ICN numbers:

use brids::{Cnpj, Cpf};

fn main() {
    println!("Random CNPJ number: {}", Cnpj::generate());
    println!("Random CPF/ICN number: {}", Cpf::generate());
}

License

brids is licensed under either of the following, at your option:

Dependencies

~0.6–1MB
~15K SLoC