package test;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
Test t = new Test();
String certNo="130925198512055555";
boolean tt= t.convertCert(certNo);
if(tt){
System.out.println("有效身份证号");
}else{
System.out.println("无效身份证号");
}
}
public static boolean convertCert(String certNo){
try{
if(certNo.trim().length()!=18){
return false;
}
String tempStr = certNo.substring(0,17);//certNo.substring(0,6)+"19"+certNo.substring(6);
System.out.println(tempStr);
String checkCode = "";
int[] a = new int[17];
int i = 0;
while(i<17){
a[i] = Integer.parseInt(tempStr.substring(i,i+1));
i++;
}
int mod = (a[0]*7+a[1]*9+a[2]*10+a[3]*5+a[4]*8+a[5]*4+a[6]*2+a[7]*1+a[8]*6+a[9]*3+a[10]*7
+a[11]*9+a[12]*10+a[13]*5+a[14]*8+a[15]*4+a[16]*2)%11;
switch (mod){
case 10: checkCode = "2"; break;
case 9: checkCode = "3"; break;
case 8: checkCode = "4"; break;
case 7: checkCode = "5"; break;
case 6: checkCode = "6"; break;
case 5: checkCode = "7"; break;
case 4: checkCode = "8"; break;
case 3: checkCode = "9"; break;
case 2: checkCode = "x"; break;
case 1: checkCode = "0"; break;
case 0: checkCode = "1"; break;
}
String sourceCheckCode = certNo.substring(17,18);
if(sourceCheckCode.equalsIgnoreCase(checkCode)){
return true;
}else{
return false;
}
}catch(Exception e){
e.printStackTrace();
return false;
}
}
}
注意:String certNo="130925198512055555"; 身份证号必须为正确的.
分享到:
相关推荐
17位身份证验证
新中新第二代身份证验证系统结构紧凑、操作简便,可广泛应用于公安、民政、银行、宾馆、民航、邮局、证券、超市、网吧等部门或行业的窗口、柜台。新中新第二代身份证阅读器随机软件功能齐全、界面简洁美观、操作简便...
java实现的18位身份证格式验证算法
18位身份证号码验证代码,js验证 ,javascript验证18位身份证代码,js验证身份证号码。
本程序能够自动检测18位身份证号是校验位是否正确,能够把15位身份证升级为18位身份证号
18位身份证标准在国家质量技术监督局于1999年7月1日实施的GB11643-1999《公民身份号码》中做了明确的规定。 GB11643-1999《公民身份号码》为GB11643-1989《社会保障号码》的修订版,其中指出将原标准名称"社会保障...
C#实现的18位身份证格式验证算法.txt
一代15位身份证二代18位身份证正则表达式校验,带详细注释,每个字符注释,大厂通用
C#身份证验证.txtC#身份证验证.txtC#身份证验证.txt
15位18位身份证 严格验证 还有身份证 很简单的demo 一看就懂。
网上很多关于身份证校验的javascript代码,不过都没给全,以下是我添加全了函数一起提供的,希望对大家有所帮助。 javascript身份证号码验证-支持18位带x身份证。
身份证15位或18位验证
18位身份证和组织机构代码校验ORACLE函数
输入您的省份证号,可以判断身份证的正确性,如果身份证正确,可以解析出身份证所在地址。
正则表达式 JS 身份证验证 正则表达式 JS 身份证验证 正则表达式 JS 身份证验证
关于身份证验证的工具类,身份证号码验证 1、号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码 八位数字出生日期码,三位数字顺序码和一位数字...
用js+html验证15位以及18位身份证
此工具可验证身份证号是否符合身份证号规范,但不能验证身份证真假(仅对身份证号除前6位以外,进行规范验证)。
C#实现的18位身份证格式验证源码