找回密码
  注册[Register]
查看: 1129|回复: 8

[经验分享] 身份证号校验位讲解

  [复制链接]
发表于 2019-7-18 12:31 | 显示全部楼层 |阅读模式
禁止求评分、诱导评分、互刷评分、互刷悬赏值,违规者封号处理。
禁止发布推广、邀请码、邀请链接、二维码或者有利益相关的任何推广行为。
所有非原创软件请发布在【精品软件区】,发帖必须按照本版块版规格式发帖。

有时候网站甲方经常要求对客户输入的身份证号进行确认,不能让客户提供虚假信息。当然校验方式有很多种,最稳妥的是向公安机关查询,但是并不是所有企业都有这样的权限的。
那么,我们可以采用校验位的方式进行大体校验,起码能够限制下随便乱敲的客户。

网络上有更成熟的方案,这里只讲解校验位


身份证18位分别是这样的意思:
6位表示地域+8位生日+3位数字顺序码+1位校验码


6位地域前2位表示省,中间两位是市,后两位是县。

其中顺序码末位为奇数,是男性,偶数是女性。

我们可以简单的使用1位校验码进行判断,当然也可以再对生日、地域进行校验,此次我只是解决校验位的问题。

校验方式:
1.将前17位与对应的每位系数相乘,系数是提前设定好的,每位有自己的系数。
每位系数如下
[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]
2.将所有位与系数的乘积加起来。
3.将加和除以11,取余数。
4.按照余数数值,查表得最后一位。
对应表如下:
['1','0','X','9','8','7','6','5','4','3','2']


例如,余数为0,则最后一位为1,余数为2,则最后一位为X。


进行下手动计算。
例如你的身份证号前17位是12345678901234567
计算方式
1*7+2*9+3*10+4*5+6*8+7*4+8*2+9*1..........
然后除以11,再取余,再查表。


如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2019-7-18 12:31 | 显示全部楼层
谢谢大牛
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2019-7-18 12:31 | 显示全部楼层
谢谢分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2019-7-18 12:32 | 显示全部楼层
谢谢大佬
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2019-7-18 12:35 | 显示全部楼层
6666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2019-7-18 12:35 | 显示全部楼层
好的,非常感谢
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2019-7-18 12:40 | 显示全部楼层
6666666666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2019-7-18 13:26 | 显示全部楼层
感谢楼主分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2019-7-18 14:45 | 显示全部楼层
感谢楼主分享!大牛有你更精彩!
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

RSS订阅|手机版|小黑屋|广告投放|大牛论坛

GMT+8, 2024-5-14 23:09 , Processed in 0.037813 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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