首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PYTHON验证身份证号码准确性

大家每个人都有身份证,但是认真研究过自己那18位居民身份证号码的人可能真的不多,今天就跟大家简单聊一下身份证号码的构成形式及最后一位验证码的验证办法。...最开始呐先向大家介绍一下身份证号码的生成规则,特意找了一个最官方的文档,以下内容摘选于国家质量技术监督局编制的GB11643-1999《公民身份号码》 那么根据官方公布的以上五项标准,我们就可以自行提炼出一个居民身份证号码必须满足的一些条件了...最后一位验证码与算法结果一致 看不懂?...余数有0-10这11个数字,分别对应的身份证最后一位校验码为1,0,X,9,8,7,6,5,4,3,2(这个X其实是罗马数字的10) 根据以上我们提炼的规则我们就可以利用一些算法工具在一些简单的层面上去验证一个身份证号码的真假了...,用EXCEL、SAS、R、SQL、PYTHON都是可以的,下面我用PYTHON来示范一下,最终效果如下: 最后不废话放出代码: 上面那段代码中其实并没有把上面那五个条件都列入,感兴趣的话可以看一下是哪些条件没有列入

3.2K90

身份证号验证算法

做项目的时候需要对拿到的数据进行“清洗”,比如剔除一些不可能存在的身份证号码。查阅了网上的身份证号验证算法,自己也总结一下。...(一)18身份证号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。 排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码。 ...public static void main(String[] args){ Id18 test=new Id18(); System.out.println("该身份证验证码...test.getValidateCode("14230219700101101")); //该身份证校验码:3 } } (三)说明 1.程序可以根据已有的17位数字本体码,获取对应的验证码...2.该程序可以剔除验证码不正确的身份证号码。 3.15位的身份证出生年份采用年份后2位,没有最后1位校验码。 4.完整的身份证18位,最后一位校验位可能是非数字。

2.3K60
您找到你想要的搜索结果了吗?
是的
没有找到

身份证号验证算法

博客园 链接:http://www.cnblogs.com/xudong-bupt/p/3293838.html(点击尾部阅读原文前往) 做项目的时候需要对拿到的数据进行“清洗”,比如剔除一些不可能存在的身份证号码...查阅了网上的身份证号验证算法,自己也总结一下。 (一)18身份证号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。...static void main(String[] args){ Id18 test=new Id18(); System.out.println("该身份证验证码...test.getValidateCode("14230219700101101")); //该身份证校验码:3 } } (三)说明 1、程序可以根据已有的17位数字本体码,获取对应的验证码...2、该程序可以剔除验证码不正确的身份证号码。 3、15位的身份证出生年份采用年份后2位,没有最后1位校验码。 4、完整的身份证18位,最后一位校验位可能是非数字。

1.9K50

身份证号验证算法

做项目的时候需要对拿到的数据进行“清洗”,比如剔除一些不可能存在的身份证号码。查阅了网上的身份证号验证算法,自己也总结一下。...(一)18身份证号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。 排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码。 ...public static void main(String[] args){ Id18 test=new Id18(); System.out.println("该身份证验证码..."+test.getValidateCode("14230219700101101")); //该身份证校验码:3 } } (三)说明 1.程序可以根据已有的17位数字本体码,获取对应的验证码...2.该程序可以剔除验证码不正确的身份证号码。 3.15位的身份证出生年份采用年份后2位,没有最后1位校验码。 4.完整的身份证18位,最后一位校验位可能是非数字。

6.2K10

使用FME验证身份证号

内容简介 本篇推送,将简单介绍一下怎么使用FME来验证身份证号码。 身份证号码 结构: 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。...身份证号验证 了解过身份证的组成以及验证规则之后,下面就要开始验证了。 验证方式 身份证号验证,可以分为这么几个部分:1、地址码验证,2、出生日期验证,3、顺序码验证,4、校验码验证。...其中地址码验证比较简单,只需提取出身份证的前6位,与县级行政区划代码做个验证即可。顺序码的验证,只需将第17位提取出来做奇偶性与性别的验证即可。所以接下来的验证将着眼于两部分:日期与校验码!...所以这个身份证号码是有问题的。 ? 验证验证 根据身份证的验证码规则,需要将身份证的每一位乘上其加权因子,然后再与11取余,得到的余数再到对应的校验码表中,查找对应的校验码。...可以看到,这里求的和,跟上面的转换器算的结果是一致的 然后再取余,验证校验码 ? 可以看到,求出的余数与校验码与转换器算出来的结果也是一致的。这说明的转换器,效果还是可以的!

2K20

Python一个身份证号码校验系统

这是一个用Python开发的GUI实战项目:居民身份证信息校验系统 一、总体介绍 本项目使用Tkinter作为GUI模块,充分利用Python面向对象的思想,开发一款实现身份证号码校验的应用程序。...具备解析用户输入的身份证号码中的地区信息、出生日期、以及身份证号码是否合法等功能。是一款练习Python面向对象思想、tkinter GUI模块的优质练手项目。 项目演示 ?...方法一:最好在新建一个空工程的根目录下就放上所有的python程序文件;方法二:或者鼠标选中工程目录,右键菜单选择Mark Directory as然后选择Sources Root即可。...我们需要导入前面的idcheck模块,使用该模块下的IdCheck类构造一个检验对象check_id,传入的参数为本模块GUI中输入框获取到的值。校验逻辑为: ?...身份证号码最后一位故意输错的情况 情况三:输入正确的身份证号码的情况 ?

2.7K50

Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息

上个星期,大佬分享了一个验证身份证号合法性的库:id_validator,没空去试着用一下看看,今天有点时间,来试着用下这个库。...2、安装成功后,开始来使用这个库 (1)、首先,输入命令 python: ?...3、以上就是对验证身份证号合法性的库id_validator的简单介绍。...验证身份证号合法性 验证身份证号是否合法,合法返回 True,不合法返回 False: from id_validator import validator validator.is_valid('440308199901101512...id_validator验证身份证号合法性及根据身份证号返回住址等信息,更多关于Python开发技巧请查看下面的相关链接

1.4K21

java验证身份证号码是否有效源代码

1、描述 用java语言判断身份证号码是否有效,地区码、出身年月、校验码等验证算法 2、源代码 package test; import java.text.ParseException...检验码分别是0-10共11个数字,当检验码为“10”时,为了保证公民身份证号码18位,所以用“X”表示。...虽然校验码为“X”不能更换,但若需全用数字表示,只需将18位公民身份号码转换成15位居民身份证号码,去掉第7至8位和最后1位3个数码。 * 当今的身份证号码有15位和18位之分。...1985年我国实行居民身份证制度,当时签发的身份证号码是15位的,1999年签发的身份证由于年份的扩展(由两位变为四位)和末尾加了效验码,就成了18位。...= 18) { tipInfo = "身份证号码长度应该为15位或18位。"

93800
领券