4个版本
0.1.3 | 2023年6月12日 |
---|---|
0.1.2 | 2023年6月11日 |
0.1.1 | 2023年6月10日 |
0.1.0 | 2023年6月10日 |
#3 in #brazilian
每月下载180次
22KB
400 行代码,不包括注释
💚💙💛 Validador-br
用rust编写的巴西文件号码验证器
一个用于rust的巴西国内各种文件的验证器
通过评论、分享或提交pull request来贡献你的力量!
[0.1.3] - 2023-06-12
- 实现了trait
try_from()
try_into()
- 模块已被分到文件中
[0.1.2] - 2023-06-11
- 添加了新的文件类型
pub struct Cns<'data>(pub &'data str);
pub struct Renavam<'data>(pub &'data str);
pub struct CodigoBarrasGs1<'data>(pub &'data str); // EAN8 EAN13 GTIN08..18
[0.1.1] - 2023-06-10
struct Cpf(&str); ✔
struct Cnpj(&str); ✔
struct CartaoCredito(&str); ✔
struct TituloEleitor(&str); ✔
struct Cnh(&str); ✔
struct Rg(&str); ✔ ⚠ ///verificar a legislação em seu Estado
struct Pis(&str); ✔
struct Ie(Uf, &str); ❌
有关更多信息,请参阅变更日志。
路线图
- 实现最常见的文件 ✅
- 忽略特殊字符、空格和标点符号 ✅
- 如果数字数量不正确,则发出错误
panic!
✅ - 提前验证数字数量。
000.000.00_.XX
❌ - 分析重复数字,例如
111.111.111-11
或000.000.000-00
❌ - 验证每个州的州注册号 ❌
- 实现新的文件类型 ❌
安装
将依赖项添加到您的 Cargo.toml
[dependencies]
validador-br = "0.1.2"
基本使用
use validador_br::types::{Cpf};
let cpf = Cpf::try_from("085.668.830-47");
match cpf {
Ok(cpf) => println!("{}✅", cpf.0),
Err(invalido) => panic!("{}", invalido)
};
也可以使用 validar()
方法,尽管不推荐。
use validador_br::validador::*;
use validador_br::types::{Cpf, Cnh};
Cpf("255.248.930-33").validar(); // ✅ true
Cpf("25524893033").validar();// ✅ true
Cnh("25524893033").validar();// ❌ false
验证cpfs列表
use validador_br::validador::*;
use validador_br::types::Cpf;
fn main() {
let cpf_list = [&"133.976.410-55", &"922.261.830-00", &"922.261.830-01", &"218.571.960-23"];
for num in cpf_list {
if Cpf::is_valid(num) {
println!("{} ✅", num)
} else {
println!("{} ❌", num)
}
}
}
使用动态字符串
# use validador_br::validador::*;
# use validador_br::types::Cpf;
let cpf_string = String::from("133.976.410-55");
if Cpf(cpf_string.as_str()).validar() {}
许可证
validador-br 是一个开源软件,由 MIT许可。