1 个稳定版本
1.0.0 | 2020年9月30日 |
---|
#194 在 国际化 (i18n)
87KB
910 行
use socrates_rs;
socrates_rs::validate_id("14349483 0 ZV3", socrates::country::Code::PT);
let citizen = socrates_rs::extract_information("2820819398814 09", socrates::country::Code::FR).unwrap();
assert_eq!(citizen.gender, 'F');
assert_eq!(citizen.year_of_birth, 1982);
assert_eq!(citizen.month_of_birth.unwrap(), 8);
assert_eq!(citizen.place_of_birth.unwrap(), "Corrèze");
简介
这个 Rust crate 是 php 包 socrates 的移植。
socrates-rs 允许您验证并从全球各地的 国家识别号码 中检索个人信息,目标是最终支持世界上尽可能多的国家。
一些国家还编码了公民的个人身份信息,如性别或出生地。此软件包允许您以一致的方式提取这些信息。
此软件包可用于许多用途,例如验证与金融相关的应用程序中的用户 ID 或验证用户年龄而无需明确询问。然而,我们建议在使用任何信息之前审查您所在国家的数据保护法。
用法
由于依赖 assoc_char_funcs
,目前此软件包需要 Rust Nightly 才能运行。
socrates-rs 提供以下两个功能:
validate_id
返回一个布尔值,指示 ID 是否在特定国家有效extract_information
返回一个 OptionalCitizen
,包含可以从标识符(性别、出生日期等)检索到的信息
支持的国家的列表可通过 Country::code
枚举获得。
贡献
您是否在算法中发现任何问题?您知道如何实现我们遗漏的国家吗?您认为代码库中应该做出哪些改进?任何帮助都受欢迎!请查看我们的 贡献指南。
许可证
MIT 许可证 (MIT)。请参阅 许可证文件 获取更多信息。
依赖关系
~2.5–3.5MB
~53K SLoC