
[号码规则]
1,由15位数字组成的ID号码:
ddddddyymmddxxs的15位数字java验证号码,其中:
dddddd是一个6位数字的本地代码,根据该6位数字可以获取ID号码的位置.
Yy是两位数字的年份代码,它是ID卡持有者的出生年份.
mm是两位数的月份代码,它是持有人的出生月份.
dd是两位数字的日期代码,它是ID卡持有人的生日.
这六个人共同构成了持有人的生日.
xx是一个2位数的序列码,这是一个随机数.
s是一位数字的性别代码,奇数代表男性,偶数代表女性.
2,18位ID号组成:
总共18个ddddddyyyymmddxxsp,其中:
其他部分与15位相同. 年份代码从原来的2位升级到4位. 最后一位是校验位.
验证规则为:
(1)十七位身体密码的加权和公式
S = Sum(Ai * Wi),i = 0,...,16,首先求和前17位数字的权重
Ai: 表示第i个位置的ID号的数值
Wi: 代表第i个位置的权重因子
Wi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
(2)计算模块
Y = mod(S,11)
(3)通过模块获取相应的校验码
Y: 0 1 2 3 4 5 6 7 8 9 10
校验码: 1 0 X 9 8 7 6 5 4 3 2
也就是说,如果余数为1java验证号码,则最后一个校验位p应该为对应的0. 如果校验位不是,则ID号不正确. 以下是js版本的验证示例.
Js代码
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-274396-1.html
再一个盗版盛行
再一个盗版盛行