`

最新18位身份证验证

 
阅读更多
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"; 身份证号必须为正确的.

分享到:
评论

相关推荐

    18位身份证验证java程序实例

    4. **第十八位**:校验码,用于验证前面17位数字的有效性。 #### 校验码计算规则 校验码是根据前17位数字计算得出的。具体步骤如下: 1. 将前17位数字分别乘以不同的权重系数(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9...

    17位身份证验证

    总之,17位身份证验证在VS中可以通过编程实现,涉及字符串处理、日期操作、数学逻辑和可能的数据库交互。了解身份证号码的结构和校验规则,结合VS的强大功能,可以轻松构建有效的身份证验证机制。

    C#身份证验证器

    在IT行业中,身份证验证器是一种常见的实用工具,主要用于验证个人身份证号码的合法性,并根据有效身份证号码解析出对应的身份信息,如出生日期、性别以及户籍所在地等。本项目以C#编程语言实现,提供了用户友好的...

    java实现的18位身份证格式验证算法

    身份证验证算法是计算机编程中一个常见的实用功能,特别是在处理个人数据和进行实名认证的场景下。在Java中实现18位身份证格式验证涉及到多个步骤,主要包括:校验位计算、出生日期转换以及地区编码验证。下面将详细...

    新中新第二代身份证验证系统

    新中新第二代身份证验证系统结构紧凑、操作简便,可广泛应用于公安、民政、银行、宾馆、民航、邮局、证券、超市、网吧等部门或行业的窗口、柜台。新中新第二代身份证阅读器随机软件功能齐全、界面简洁美观、操作简便...

    SQL15位和18位公民身份证校验函数

    5. **18位身份证号码验证**:对于18位身份证号码,在进行格式检查后,还需要验证校验码是否正确。 - **格式检查**:验证前17位数字是否能转换为日期,并且这17位数字是否都是数字。 - **校验码验证**:使用上述...

    javascript身份证号码验证-支持15位和18位带x身份证

    本篇将详细探讨如何使用JavaScript进行15位和18位,特别是18位带有字母“X”的身份证号码的验证。 首先,我们需要理解身份证号码的结构。15位身份证号码由6位地区码、7位出生日期码和2位顺序码组成;18位身份证号码...

    18位身份证号码验证代码

    18位身份证号码验证代码,js验证 ,javascript验证18位身份证代码,js验证身份证号码。

    C#身份证验证.txtC#身份证验证.txtC#身份证验证.txt

    2. **18位身份证验证**:除了检查15位的规则外,还需验证校验码的正确性。 #### C#代码示例 在提供的代码片段中,定义了两个方法`CheckIDCard15`和`CheckIDCard18`来分别验证15位和18位身份证号码的有效性。具体...

    18位身份证验证系统

    本程序能够自动检测18位身份证号是校验位是否正确,能够把15位身份证升级为18位身份证号

    C#实现的18位身份证格式验证算法

    ### C#实现的18位身份证格式验证算法详解 身份证号码在中国大陆地区是个人身份的重要标识,由18位数字组成,其中包含了个人的出生日期、性别以及户籍所在地等信息。18位身份证号码遵循GB11643-1999标准,该标准在...

    Linux shell编程 验证身份证号码(15/18)

    根据给定的Linux shell脚本,我们可以深入探讨与身份证号码验证相关的知识点,特别是针对中国身份证号码的15位和18位格式的处理方法。以下是对脚本中关键部分的详细解析: ### Linux Shell编程验证身份证号码 ####...

    身份证验证器.zip

    在这个身份证验证器中,可能使用了正则表达式来确保输入的身份证号码符合特定的格式,例如18位数字,且包含特定的校验位。 4. **数字校验算法**: 中国的身份证号码包含一个校验位,用于检查号码的正确性。校验算法...

    JS 身份证验证程序

    本文将深入探讨如何使用JavaScript进行身份证验证,包括有效性检查和区域信息识别。 身份证验证是确保用户输入的有效身份证号码的关键步骤,这对于很多需要用户身份验证的场景非常重要,如注册、实名认证等。在中国...

    java 手机号15位18位身份证严格验证demo

    15位18位身份证 严格验证 还有身份证 很简单的demo 一看就懂。

    正则表达式 JS 身份证验证

    该正则表达式能够更准确地验证18位身份证号码的格式,并且支持15位身份证号码的验证。通过这种方式,可以确保身份证号码的出生日期部分是合理的。 #### 三、示例代码解析 接下来我们通过一个具体的函数来实现...

    身份证号码验证程序 javascript验证的html文件

    这个压缩包中的"身份证验证程序.html"文件是一个使用JavaScript编写的HTML页面,它用于验证输入的身份证号码是否合法。以下是对这个知识点的详细阐述: 1. **HTML(超文本标记语言)**:HTML是构建网页的基础,它...

    身份证15位或18位验证

    身份证15位或18位验证

Global site tag (gtag.js) - Google Analytics