python校验身份证号码

审核中 分享 未结
0 68
ieJSON
ieJSON 2019-08-30 11:16:56
悬赏:0飞吻
[pre] #!/usr/bin/python import re; #定义验证函数 def IC_chk(ic_serial): #权重数组 iW = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1]; #身份证号码中可能的字符 values = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'x'] #使用正则表达式检测 icre = re.compile('^[1-9][0-9]{16}[x0-9]$', re.IGNORECASE); m = icre.match(ic_serial); if m: pass; else: #不是合法的身份证号码,直接退出 return False; S = 0; for i in range(0,17): S += int(ic[i]) * iW[i]; chk_val = (12 - (S % 11)) % 11; return ic_serial[17].lower() == values[chk_val]; #测试验证函数 ic = raw_input("Please input IC serial: "); if IC_chk(ic): print "Correct IC Serial!"; else: print "Wrong IC Serial!"; [/pre]
热议榜单
我是QQ新户 2
1024程序员节 - Happy 1024. 1
ieJSON

微信扫码关注 ieJSON 公众号