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"; 身份证号必须为正确的.
分享到:
相关推荐
4. **第十八位**:校验码,用于验证前面17位数字的有效性。 #### 校验码计算规则 校验码是根据前17位数字计算得出的。具体步骤如下: 1. 将前17位数字分别乘以不同的权重系数(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9...
总之,17位身份证验证在VS中可以通过编程实现,涉及字符串处理、日期操作、数学逻辑和可能的数据库交互。了解身份证号码的结构和校验规则,结合VS的强大功能,可以轻松构建有效的身份证验证机制。
在IT行业中,身份证验证器是一种常见的实用工具,主要用于验证个人身份证号码的合法性,并根据有效身份证号码解析出对应的身份信息,如出生日期、性别以及户籍所在地等。本项目以C#编程语言实现,提供了用户友好的...
身份证验证算法是计算机编程中一个常见的实用功能,特别是在处理个人数据和进行实名认证的场景下。在Java中实现18位身份证格式验证涉及到多个步骤,主要包括:校验位计算、出生日期转换以及地区编码验证。下面将详细...
新中新第二代身份证验证系统结构紧凑、操作简便,可广泛应用于公安、民政、银行、宾馆、民航、邮局、证券、超市、网吧等部门或行业的窗口、柜台。新中新第二代身份证阅读器随机软件功能齐全、界面简洁美观、操作简便...
5. **18位身份证号码验证**:对于18位身份证号码,在进行格式检查后,还需要验证校验码是否正确。 - **格式检查**:验证前17位数字是否能转换为日期,并且这17位数字是否都是数字。 - **校验码验证**:使用上述...
本篇将详细探讨如何使用JavaScript进行15位和18位,特别是18位带有字母“X”的身份证号码的验证。 首先,我们需要理解身份证号码的结构。15位身份证号码由6位地区码、7位出生日期码和2位顺序码组成;18位身份证号码...
18位身份证号码验证代码,js验证 ,javascript验证18位身份证代码,js验证身份证号码。
2. **18位身份证验证**:除了检查15位的规则外,还需验证校验码的正确性。 #### C#代码示例 在提供的代码片段中,定义了两个方法`CheckIDCard15`和`CheckIDCard18`来分别验证15位和18位身份证号码的有效性。具体...
本程序能够自动检测18位身份证号是校验位是否正确,能够把15位身份证升级为18位身份证号
### C#实现的18位身份证格式验证算法详解 身份证号码在中国大陆地区是个人身份的重要标识,由18位数字组成,其中包含了个人的出生日期、性别以及户籍所在地等信息。18位身份证号码遵循GB11643-1999标准,该标准在...
根据给定的Linux shell脚本,我们可以深入探讨与身份证号码验证相关的知识点,特别是针对中国身份证号码的15位和18位格式的处理方法。以下是对脚本中关键部分的详细解析: ### Linux Shell编程验证身份证号码 ####...
在这个身份证验证器中,可能使用了正则表达式来确保输入的身份证号码符合特定的格式,例如18位数字,且包含特定的校验位。 4. **数字校验算法**: 中国的身份证号码包含一个校验位,用于检查号码的正确性。校验算法...
本文将深入探讨如何使用JavaScript进行身份证验证,包括有效性检查和区域信息识别。 身份证验证是确保用户输入的有效身份证号码的关键步骤,这对于很多需要用户身份验证的场景非常重要,如注册、实名认证等。在中国...
15位18位身份证 严格验证 还有身份证 很简单的demo 一看就懂。
该正则表达式能够更准确地验证18位身份证号码的格式,并且支持15位身份证号码的验证。通过这种方式,可以确保身份证号码的出生日期部分是合理的。 #### 三、示例代码解析 接下来我们通过一个具体的函数来实现...
这个压缩包中的"身份证验证程序.html"文件是一个使用JavaScript编写的HTML页面,它用于验证输入的身份证号码是否合法。以下是对这个知识点的详细阐述: 1. **HTML(超文本标记语言)**:HTML是构建网页的基础,它...
身份证15位或18位验证