1. 程式人生 > >大陸居民身份證、港澳臺居民居住證驗證工具 Python 版 :驗證、獲取基本資訊以及生成假資料

大陸居民身份證、港澳臺居民居住證驗證工具 Python 版 :驗證、獲取基本資訊以及生成假資料

中華人民共和國居民身份證中華人民共和國港澳居民居住證以及中華人民共和國臺灣居民居住證號碼驗證工具(Python 版)支援 15 位與 18 位號碼。

安裝

pip install id-validator

使用

440308199901101512610104620927690 示例大陸居民身份證均為隨機生成的假資料,如撞車,請聯絡刪除。 810000199408230021830000199201300022 示例港澳臺居民居住證為北京市公安局公佈的居住證樣式號碼。

驗證身份證號合法性

驗證身份證號是否合法,合法返回 True,不合法返回 False

from id_validator import validator

validator.is_valid('440308199901101512') # 大陸居民身份證 18 位
validator.is_valid('610104620927690')    # 大陸居民身份證 15 位
validator.is_valid('810000199408230021') # 港澳居民居住證 18 位
validator.is_valid('830000199201300022') # 臺灣居民居住證 18 位

獲取身份證號資訊

當身份證號合法時,返回分析資訊(地區、出生日期、星座、生肖、性別、校驗位),不合法返回 False

from id_validator import validator

validator.get_info('440308199901101512') # 18 位
validator.get_info('610104620927690')    # 15 位

返回資訊格式如下:

{
'addressCode'   : '440308',          # 地址碼   
'abandoned'     : 0,                 # 地址碼是否廢棄,1 為廢棄的,0 為正在使用的
'address'       : '廣東省深圳市鹽田區', # 地址
'birthdayCode'  : '1999-01-10',      # 出生日期
'constellation' : '水瓶座',           # 星座
'chineseZodiac' : '卯兔',             # 生肖
'sex'           : 1,                 # 性別,1 為男性,0 為女性
'length'        : 18,                # 號碼長度
'checkBit'      : '2'                # 校驗碼
}

注:判斷地址碼是否廢棄的依據是中華人民共和國行政區劃程式碼歷史資料集,本資料集的採集源來自:中華人民共和國民政部,每年更新一次。本資料集採用 csv 格式儲存,方便大家進行資料分析或者開發其他語言的版本。

生成可通過校驗的假資料

偽造符合校驗的身份證:

from id_validator import validator

validator.fake_id()                                      # 18 位
validator.fake_id(False)                                 # 15 位
validator.fake_id(True, '上海市', '2000', 1)              # 生成出生於 2000 年上海市的男性居民身份證
validator.fake_id(True, '南山區', '1999', 0)              # 生成出生於 1999 年廣東省深圳市南山區的女性居民身份證
validator.fake_id(True, '江蘇省', '200001', 1)            # 生成出生於 2000 年 1 月江蘇省的男性居民身份證
validator.fake_id(True, '廈門市', '199701', 0)            # 生成出生於 2000 年 1 月福建省廈門市的女性居民身份證
validator.fake_id(True, '臺灣省', '20131010', 0)          # 生成出生於 2013 年 10 月 10 日臺灣省的女性居民居住證
validator.fake_id(True, '香港特別行政區', '19970701', 0)    # 生成出生於 1997 年 7 月 1 日香港特別行政區的女性居民居住證

參考資料

Todo List

  • 增加對 Python2 的支援
  • 增加單元測試和 CI

Change Log

License

MIT