newheader
手机登录
账密登录
验证码图片
登录
还没有账号? 马上注册
手机登录
账密登录
验证码图片
忘记密码?
登录
还没有账号? 马上注册
欢迎注册陪学网账号
已经有账号? 马上登录
怎样判断身份证号码的合法性
陪学
2017-12-04 04:48:17
774
0
在使用某些APP或者网站的时候,需要我们提交身份证进行验证。那么我们去判断提交的身份证是够合法?身份证号码不是胡乱填写的?我们需要对身份证号码的构成和它的计算方法有所了解,才能对身份证号码进行判断。

       在使用某些APP或者网站的时候,需要我们提交身份证进行验证。那么我们去判断提交的身份证是够合法?身份证号码不是胡乱填写的?我们需要对身份证号码的构成和它的计算方法有所了解,才能对身份证号码进行判断。
       首先我们来看一下身份证号码的构成是什么样的。身份证号码作为独一无二代表公民信息的号码,它的组成是由一下的数字表示的:
(1)第1、2位数字表示:所在省(直辖市、自治区)的代码;
(2)第3、4位数字表示:所在地级市(自治州)的代码;
(3)第5、6位数字表示:所在区(县、自治县、县级市)的代码;
(4)第7—14位数字表示:出生年、月、日;
(5)第15、16位数字表示:所在地的派出所的代码;
(6)第17位数字表示性别:奇数表示男性,偶数表示女性;
(7)第18位数字是校检码。       
       根据这个组成结构大家能够很明显得看出前17位的数字基本上是已知的,地址、出生年月、性别等等的代码都是固定的,那么下面要看的就是第18位的校验码。校验码是根据《中华人民共和国国家标准GB 11643-1999》中有关公民身份号码的规定,根据精密的计算公式计算出来的。校验码的计算方法:
1、将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2 ;
2、将这17位数字和系数相乘的结果相加;
3、用加出来和除以11,看余数是多少;
4、余数只可能有0、1、2、3、4、5、6、7、8、9、10这11个数字。其分别对应的最后一位身份证的号码为1、0、X、9、8、7、6、5、4、3、2,其中的X是罗马数字10;
5、通过上面得知如果余数是2,就会在身份证的第18位数字上出现罗马数字的Ⅹ;如果余数是10,身份证的最后一位号码就是2。
       明白了校验码的计算方法之后我们就可以根据前面已知的代码来计算第18位的数字,从而来判断这个身份证号码是否合法,是不是正确的。
       举个例子,在某个APP中有个用户提交了一个身份证号码为44528419850827021X,那我们要判断这个身份证的合法性。根据我们上面提到的计算方法,前17位的乘积和是415,然后用415除以11得出余数是8.然后我们根据对应规则可以得知余数8对应的数字是4。这样呢,我们就可以判断出这个身份证号码不是一个合法的身份证号,是用户胡编乱造的。这时我们就提示用户需要输入一个正确的身份证号码。



长按二维码或加微信pexuepexue
进陪学产品交流群回复:资料分享
免费获取资料:每日更新 免费课程、学习资料、报告、招聘面试
标签:
登录 后参与讨论
发表
全部评论
没有更多评论了
newfooter
陪学网专注于产品管理类课程的开发与制作,
志在为产品经理、交互设计、平面设计、需求人员分享最新、最好的产品类课程。
陪学网:陪伴学习、陪伴成长
粤ICP备18075915号