公共类标识号{
public static void main(字符串[] args){
system.out.println(getlastidnum(“ 37018319880321312”));
}
/ **
*名称: 计算18位ID卡的最后一位
*功能: 根据您的ID编号的前17位数字查找最后一位数字
*最后一位的算法:
* 1. ID号的前17位乘以权重: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
*(例如,第一个数字乘以7,第二个数字乘以9号第18位计算器,依此类推)
* 2.再次对以上所有产品求和
* 3.使用mod和11()的总和得出小于11(0到11)的数字.
* 4.然后从校验位10 x 9 8 7 6 5 4 3 2
中找到最后一位
*如果得到0,则对应于第一位: 1,如果得到1,则对应于第二位: 0
*如果得到2,则对应于第三个位置: x,如果得到3,则对应于第四个位置: 9,依此类推
* 5.我得到了ID的最后一位
* /
公共静态字符getlastidnum(字符串前缀){
字符lastid = null;
//如果输入的字符串不包含17位数字,则无法计算并直接返回
if(preids == null && preids.length()<17){
返回null;
}
int [] weightarray = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}; //权重数组
string vcode =“ 10x98765432”; //检查代码字符串
int sumnum = 0; //前17是数字乘以权重再求和
//乘以重量,然后求和
for(int i = 0; i <17; i){
int索引= integer.parseint(preids.charat(i)“”);
sumnum = sumnum index * weightarray [i]; //乘以重量然后求和
}
int modnum = sumnum; //取模
lastid = vcode.charat(modnum); //从验证码中找到相应的号码
返回lastid;
}
} blockquote>
您可能感兴趣的文章:
js ID验证码支持15位和18位ID
js信息有效性示例验证
常用的JS验证码(电子邮件号第18位计算器,手机号码,ID号,文件类型等)百科全书
用于验证有效性的JS示例代码
用于ID号验证的正则表达式示例
用于验证的JS代码
用于根据号码计算性别,年龄,生日的JS示例代码
一些用于验证数字的正则表达式
用于ID验证的优质js脚本
了解javascipt的正则表达式
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-159203-1.html