jxlwqq / id-validator.py Goto Github PK
View Code? Open in Web Editor NEW中华人民共和国居民身份证、中华人民共和国港澳居民居住证以及中华人民共和国**居民居住证号码验证工具(Python 版)
Home Page: https://pypi.org/project/id-validator/
License: MIT License
中华人民共和国居民身份证、中华人民共和国港澳居民居住证以及中华人民共和国**居民居住证号码验证工具(Python 版)
Home Page: https://pypi.org/project/id-validator/
License: MIT License
请问直接用省/市直属区划代码的身份证号现实里真实存在吗?
例如370000199910231161、370300199910231168。现实生活里从来没见到,这种校验是否会出现误差?
321119197310306324是有效身份证,验证返回False
版本:1.0.20
出生年份有字母、15-17位有字母时报错
def get_address(address_code, birthday_code):
"""
通过地址码与出生日期码获取地址信息
:param address_code:
:param birthday_code:
:return:
"""
address = ''
address_code_timeline = data.get_address_code_timeline()
timeline = address_code_timeline.get(address_code, '')
if timeline != '':
year = int(birthday_code[0:4])
for key, val in enumerate(timeline):
start_year = 0 if val['start_year'] == '' else int(val['start_year'])
if (key == 0 and year < start_year) or year >= start_year:
address = val['address']
return address
只判断了start_year是否有效,没有判断end_year,导致有的地理位置错误
validator.fake_id 传了 birthday 的时候 会有一定几率返回非 要求的 birthday 的身份证号
请问能否实现按规则(日期、顺序码连续那种)批量生成全部可能的身份证的功能?有需要但一直没找到合适的工具
比如根据参数设定,生成山东省1994出生的男性身份证、生成2022年1月1日江苏18-60周岁的人口
能出个java版本的吗
返回全部可能性已经实现
在我机器上单次get_info需要10ms,处理大批量数据时有点影响速度,建议优化一下,主要是每次加载data.py耗时很长,把那几个dict复用一下速度就会快很多
当前年份减去身份证中的年份即可,希望能增加年龄的信息
id-validator.py/id_validator/helper.py
Line 276 in 9f0ea3f
这边取模运算,计算的值一定是 >= 0的,所以这行代码其实没有必要
例如假身份证号370620199505100123,但是1995年威海地区压根没有370620的地址区划代码,但是却能校验通过
id-validator.py/id_validator/helper.py
Line 39 in 9f0ea3f
按我想的是,只需排除末尾是00的地址码即可,但这个正则筛选出来的其实是末尾两位数字中不存在0的情况,下面是示例:
>>> reg = r'^\d{4}[^0]{2}$'
>>> pattern = re.compile(reg)
>>> print(re.match(pattern, '610112'))
<re.Match object; span=(0, 6), match='610112'>
>>> print(re.match(pattern, '610102'))
None
>>> print(re.match(pattern, '610120'))
None
因为对这个地址码的规则不太了解,不知道是规则如此还是代码考虑不全的问题?
實際使用過程中發現部分區劃代碼為 xxxx01 的身份證號被判定為無效號碼,查詢民政部的數據後發現廣東省代碼中均無 xxxx01(圖1),但對比查詢其他政府網站數據(註1-2)(圖2)後發現 xxxx01 應為市轄區的代碼,所以 id-validator 中引用的數據會導致將有效證件號誤判為無效的情況。
註1: http://www.gov.cn/test/2009-03/30/content_1272354.htm
註2: http://gdii.gd.gov.cn/ywfl/jsgz/content/post_939420.html
有的身份证 正确的但是校验显示不通过 不过我不能发出这类身份证 很尬尴
有个bug,编号等于341123时,取到的值是"未曾使用",helper.py line:275 , 在比较时会报错。
比如612403196703110032、23011919850826001X、632824197703100119、622961198010012335这些都是正确的身份证号码
因为地址码里已经有省份信息了,建议增加省份字段,不然从address里面提取省份也不方便
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.