Chinese Identity Card Utilities
中国身份证号码解析校验工具
🎉 归属地信息已更新至 2022 年(民政部官方数据)
特点
- 号码 15 位升 18 位
- 号码有效性校验
- 解析号码相关信息
- 查询号码归属地信息
- 支持港澳台身份证号码校验
- 生成 18 位身份证号码
用法
Cargo.toml 中添加依赖:
[]
= "0.3"
例子
解析号码信息
use Identity;
let id = new;
id.number; // 18位号码
id.gender; // 性别
id.age; // 当前年龄
id.age_in_year; // 计算相对年龄
id.year; // 出生年份
id.month; // 出生月份
id.day; // 出生日
id.birth_date; // 出生年月日(格式:yyyy-mm-dd)
id.chinese_era; // 天干地支
id.chinese_zodiac; // 生肖
id.constellation; // 星座
id.province; // 省份
id.region; // 号码归属地
id.region_code; // 归属地代码
id.is_valid; // 判断号码是否有效
id.is_empty; // 判断号码是否为空
id.len; // 号码长度
港澳台身份证
use ;
// 香港身份证
validate;
// 澳门身份证
validate;
// 台湾身份证
validate;
查询号码归属地
use region;
query;
生成身份证号码
use ;
// 生成身份证号码
new;
// 随机生成身份证号码
rand;
// 根据参数随机生成身份证号码
let opts = new
.region
.min_year
.max_year
.female;
rand_with;
其它方法
// 15位号码升18位
upgrade;
// 15/18位号码校验
validate;
// 返回年份对应的生肖
chinese_zodiac;
// 返回年份对应的天干地支
chinese_era;
// 返回月日对应的星座
constellation;
资料来源
部分算法代码参考于网络
License MIT