#信息 #验证 #识别 #数字 #提取 #国家 #地区

socrates_rs

验证和提取国家识别号码中的信息

1 个稳定版本

1.0.0 2020年9月30日

#194国际化 (i18n)

MIT 许可证

87KB
910

Socrates logo

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 返回一个 Optional Citizen,包含可以从标识符(性别、出生日期等)检索到的信息

支持的国家的列表可通过 Country::code 枚举获得。

贡献

您是否在算法中发现任何问题?您知道如何实现我们遗漏的国家吗?您认为代码库中应该做出哪些改进?任何帮助都受欢迎!请查看我们的 贡献指南

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 获取更多信息。

依赖关系

~2.5–3.5MB
~53K SLoC