鱼C论坛

 找回密码
 立即注册
查看: 57542|回复: 718

[作品展示] python实现身份证号码有效性验证

  [复制链接]
发表于 2014-4-26 18:01:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 戴宇轩 于 2015-6-27 13:30 编辑

游客,如果您要查看本帖隐藏内容请回复
)#//测试出生日期的合法性
       else:
           ereg=re.compile('[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[/hide])#//测试出生日期的合法性
       if(re.match(ereg,idcard)):
           print Errors[zxsq-anti-bbcode-0]
       else:
           print Errors[zxsq-anti-bbcode-2]
   #18位身份号码检测
   elif(len(idcard)==18):
       #出生日期的合法性检查
       #闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
       #平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
       if(int(idcard[6:10]) % 4 == 0 or (int(idcard[6:10]) % 100 == 0 andint(idcard[6:10])%4 == 0 )):
           ereg=re.compile('[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx][/hide])#//闰年出生日期的合法性正则表达式
       else:
           ereg=re.compile('[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx][/hide])#//平年出生日期的合法性正则表达式
       #//测试出生日期的合法性
       if(re.match(ereg,idcard)):
           #//计算校验位
           S = (int(idcard_list[zxsq-anti-bbcode-0]) + int(idcard_list[zxsq-anti-bbcode-10])) * 7 +(int(idcard_list[zxsq-anti-bbcode-1]) + int(idcard_list[zxsq-anti-bbcode-11])) * 9 +(int(idcard_list[zxsq-anti-bbcode-2]) + int(idcard_list[zxsq-anti-bbcode-12])) * 10 +(int(idcard_list[zxsq-anti-bbcode-3]) + int(idcard_list[zxsq-anti-bbcode-13])) * 5 +(int(idcard_list[zxsq-anti-bbcode-4]) + int(idcard_list[zxsq-anti-bbcode-14])) * 8 +(int(idcard_list[zxsq-anti-bbcode-5]) + int(idcard_list[zxsq-anti-bbcode-15])) * 4 +(int(idcard_list[zxsq-anti-bbcode-6]) + int(idcard_list[zxsq-anti-bbcode-16])) * 2 +int(idcard_list[zxsq-anti-bbcode-7]) * 1 + int(idcard_list[zxsq-anti-bbcode-8]) * 6 +int(idcard_list[zxsq-anti-bbcode-9]) * 3
           Y = S % 11
           M = "F"
           JYM = "10X98765432"
           M = JYM[zxsq-anti-bbcode-Y]#判断校验位
           if(M == idcard_list[zxsq-anti-bbcode-17]):#检测ID的校验位
               print Errors[zxsq-anti-bbcode-0]
           else:
               print Errors[zxsq-anti-bbcode-3]
       else:
           print Errors[zxsq-anti-bbcode-2]
    else:
       print Errors[zxsq-anti-bbcode-1][/hide]

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-26 19:58:27 | 显示全部楼层
好好学下 啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-26 20:48:38 | 显示全部楼层
学习学习哈哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-26 21:49:45 | 显示全部楼层
            来学习下!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2014-4-26 22:52:20 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-26 23:41:02 | 显示全部楼层
tks so much.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-27 03:50:15 | 显示全部楼层
这是什么呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-27 07:53:43 | 显示全部楼层
什么好东西,来看一下。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-27 07:54:17 | 显示全部楼层
什么好东西,来看一下。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-27 08:30:43 | 显示全部楼层
支持一下 虽然还没学到python
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-27 09:03:13 | 显示全部楼层
看一下,这个有必要看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-27 09:17:49 | 显示全部楼层
呵呵   不错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-27 10:35:59 | 显示全部楼层
怎么实现的?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-27 11:56:07 | 显示全部楼层
这个也可以做到,,太牛了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-27 15:33:45 | 显示全部楼层
正则表达式???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-27 16:59:13 | 显示全部楼层
感谢楼主分享!,,,,,,,,,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-27 20:13:41 | 显示全部楼层
学习学习哈哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-27 20:22:36 | 显示全部楼层
看看学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-27 20:34:00 | 显示全部楼层
真的假的真的的假的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-27 20:42:39 | 显示全部楼层
是自己搞出来的么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 02:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表