地址:https://github.com/jxlwqq/id validator.py 中華人民共和國居民身份證 、 中華人民共和國港澳居民居住證 以及 中華人民共和國臺灣居民居住證 號碼驗證工具(Python 版)支持 15 位與 18 位號碼。 "PHP 版本" 安裝 使用 和 示例大陸居民身 ...
中華人民共和國居民身份證、中華人民共和國港澳居民居住證以及中華人民共和國臺灣居民居住證號碼驗證工具(Python 版)支持 15 位與 18 位號碼。
安裝
pip install id-validator
使用
440308199901101512
和610104620927690
示例大陸居民身份證均為隨機生成的假數據,如撞車,請聯繫刪除。
810000199408230021
和830000199201300022
示例港澳台居民居住證為北京市公安局公佈的居住證樣式號碼。
驗證身份證號合法性
驗證身份證號是否合法,合法返回 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