您的位置:首页 > 编程语言 > Python开发

python工具代码之身份证校验持续更新:【内向即失败--王奕君】

2017-12-14 21:54 363 查看
代码是别人的,但是经过我验证以后,发现是高可用的代码。
import time
VERIFYMATRIX = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
VERIFYCODE = '10X98765432'
def IDverify(ID):
if type(ID) != str:
return False
    if len(ID) != 18:
return False
    if 1900 < int(ID[6:10]) < 2100:
pass
    else:
return False
    if ID[:-1].isdigit() == False:
return False
    if ID[-1].isdigit() or ID[-1] == 'X':
pass
    else:
return False
    try:
time.strptime(ID[6:14], '%Y%m%d')
except:
return False
data = [VERIFYMATRIX[i]*int(ID[i]) for i in range(17)]
verify_code = sum(data) % 11
verify_code = VERIFYCODE[verify_code]
if verify_code != ID[-1]:
return False
    else:
print('身份验证成功')
b=IDverify('310225199510270011')

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐