#id #tz #validation #parser #israel #convert-string

bin+lib il_tz

一个用于处理以色列身份证号码(TZ)的 Rust 库

4 个版本

0.1.3 2023 年 1 月 16 日
0.1.2 2023 年 1 月 16 日
0.1.1 2023 年 1 月 15 日
0.1.0 2023 年 1 月 15 日

#2380 in 解析实现

MIT 许可证

15KB
322

IL_TZ

Rust Publish Crates.io Docs.rs License

一个用于处理以色列身份证号码(TZ 是 "ID" 的希伯来语缩写)的 Rust 库。

安装(命令行界面)

最新版本 下载您系统的二进制文件

您也可以使用 cargo install 安装它

cargo install il_tz --features cli

使用方法(命令行界面)

> iltz --help
Validate Israeli ID numbers (TZ)

Usage: iltz.exe [TZ]... [COMMAND]

Commands:
  generate  Generates a list of valid TZ values
  help      Print this message or the help of the given subcommand(s)

Arguments:
  [TZ]...  A list of ID numbers (TZ) to validate

Options:
  -h, --help  Print help

命令行示例

> iltz 999999998 999999999
999999998 true
999999999 false

> iltz generate 50 100
000000059
000000067
000000075
000000083
000000091
000000109

作为依赖项

要在您的 Rust 项目中使用它,请运行此命令

cargo add il_tz

或者,将其添加到您的 Cargo.toml 中

[dependencies]
il_tz = "0.1.3"

警告 请在 crates.io 上验证最新版本号。

Rust 示例

此示例展示了如何将整数转换为 TZ,如何将字符串转换为 TZ,以及如何验证它们。

use il_tz::{int2tz, str2tz, tz2str, validate};

fn main() {
    // A valid TZ example
    let valid = int2tz(999_999_998).unwrap();
    println!("{} {}", tz2str(&valid), validate(&valid));

    // An invalid TZ example
    let invalid = int2tz(999_999_999).unwrap();
    println!("{} {}", tz2str(&invalid), validate(&invalid));

    // Leading zeros can be used or omitted
    let tz1 = str2tz("000000141").unwrap();
    let tz2 = str2tz("00141").unwrap();
    let tz3 = int2tz(141).unwrap();
    assert_eq!(tz1, tz2);
    assert_eq!(tz1, tz3);
}

注意 此库不验证 ID 号码(TZ)与任何人口数据库的匹配,它只进行数学验证。

许可证/保修

此库根据 MIT 许可证授权(这意味着可以免费使用、重新使用、重新打包等)。有关更多信息,请参阅 LICENSE 文件。此库按原样提供,不提供任何保修。使用风险自负。

依赖项

~0.7–1.4MB
~30K SLoC