4个版本 (2个重大更新)
0.2.2 | 2021年6月12日 |
---|---|
0.2.1 | 2021年5月22日 |
0.1.4 | 2021年4月17日 |
0.0.1 | 2021年4月12日 |
#340 in 无标准库
15KB
251 行
cnpj-rs
巴西CNPJ解析、验证和格式化库。
use cnpj::Cnpj;
// Use the `valid` function if all you need is validating a CNPJ number
assert!(cnpj::valid("96.769.900/0001-77"));
assert!(cnpj::valid("96769900000177"));
assert!(!cnpj::valid("00.000.000/0000-00"));
// Parse into a Cnpj struct if you need formatting or other metadata
let cnpj: Cnpj = "96769900000177".parse()?;
assert_eq!(format!("{}", cnpj), "96.769.900/0001-77");
assert_eq!(cnpj.digits(), [9, 6, 7, 6, 9, 9, 0, 0, 0, 0, 0, 1, 7, 7]);
// Note that the Cnpj struct is guaranteed to always be valid
assert!("00.000.000/0000-00".parse::<Cnpj>().is_err());
assert!(cnpj::valid("96.769.900/0001-77".parse::<Cnpj>()?));
支持no_std
该库不进行动态分配,可以通过禁用 std
标志在no_std环境中使用
[dependencies]
cnpj = { version = "0.2", default-features = false }
随机CNPJ生成支持
启用 rand
功能标志以启用随机CNPJ生成
[dependencies]
cnpj = { version = "0.2", features = ["rand"] }
rand = "0.8"
use cnpj::Cnpj;
use rand;
use rand::Rng;
let cnpj: Cnpj = rand::thread_rng().gen();
依赖项
~72KB