`
itace
  • 浏览: 181392 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

身份证基本规则验证

    博客分类:
  • java
 
阅读更多
public class IDCard {

	/**
	 * 17位奇数男,偶数女,15,16,17随机,18位算出来的
	 */
	private static final String ss = "";
	//第18位校验码
	private static final String[]v18 = { "1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"};
	//加权因子--7,9,10,5,8,4,2,1,6,3循环
	private static final int[] params = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
	private static Map<String, String> cityCodes = new HashMap<String, String>();
	public static void init(){
		cityCodes.put("11", "北京");
        cityCodes.put("12", "天津");
        cityCodes.put("13", "河北");
        cityCodes.put("14", "山西");
        cityCodes.put("15", "内蒙古");
        cityCodes.put("21", "辽宁");
        cityCodes.put("22", "吉林");
        cityCodes.put("23", "黑龙江");
        cityCodes.put("31", "上海");
        cityCodes.put("32", "江苏");
        cityCodes.put("33", "浙江");
        cityCodes.put("34", "安徽");
        cityCodes.put("35", "福建");
        cityCodes.put("36", "江西");
        cityCodes.put("37", "山东");
        cityCodes.put("41", "河南");
        cityCodes.put("42", "湖北");
        cityCodes.put("43", "湖南");
        cityCodes.put("44", "广东");
        cityCodes.put("45", "广西");
        cityCodes.put("46", "海南");
        cityCodes.put("50", "重庆");
        cityCodes.put("51", "四川");
        cityCodes.put("52", "贵州");
        cityCodes.put("53", "云南");
        cityCodes.put("54", "西藏");
        cityCodes.put("61", "陕西");
        cityCodes.put("62", "甘肃");
        cityCodes.put("63", "青海");
        cityCodes.put("64", "宁夏");
        cityCodes.put("65", "新疆");
        cityCodes.put("71", "台湾");
        cityCodes.put("81", "香港");
        cityCodes.put("82", "澳门");
        cityCodes.put("91", "国外");
	}
	public static boolean verify(String idcard){
		String pre17=idcard.substring(0, 17);
		char[] c17 = pre17.toCharArray();
		int sum = 0;
		for (int i = 0; i < c17.length; i++) {
			int c = Character.getNumericValue(c17[i]);
			int p = params[i];
			sum+=c*p;
		}
		int a = sum%11;
		if(a==2){//字母
			
		}else {//数字
			
		}
		String last_v=v18[a];
		System.out.println(last_v);
		return last_v.equals(idcard.charAt(17)+"");
	}
	public static void main(String[] args) {
		String idcard = "110203199001231238";
		System.out.println(verify(idcard));
		
	}
}

 

分享到:
评论

相关推荐

    C#身份证验证器

    首先,我们来了解一下身份证号码的基本构成。中国的居民身份证号码共18位,分为6个部分:地区码(前6位)、出生日期码(7-14位)、顺序码(15-17位,奇数表示男性,偶数表示女性)、校验码(最后一位)。校验码是...

    C++中身份证号码验证代码

    在C++编程中,身份证号码验证是一个常见的任务,主要用于确保用户输入的身份信息是合法的。...同时,这个项目也让我们理解了身份证号码的结构和验证规则,对于理解实际应用中的数据验证有很好的实践意义。

    java身份证号验证源代码

    身份证号码是由18位数字组成的,包含个人的出生日期、性别、地区等信息,并且具有特定的校验规则。本篇文章将深入讲解如何使用Java编写身份证号验证的源代码。 首先,了解身份证号码的基本结构。中国的身份证号码前...

    js身份证号的验证真伪和地区

    ### 一、身份证号码结构与验证规则 中国居民身份证号码由18位数字组成,分为四部分: 1. **前六位**:表示行政区划代码。 2. **接下来八位**:出生日期,格式为YYYYMMDD。 3. **接下来三位**:顺序码,奇数分配给...

    身份证号验证HTML代码

    这个示例中的JavaScript代码首先检查了身份证号码的基本格式,然后通过`city.js`中的数据验证行政区域代码,再检查出生日期是否合理,最后计算校验码并与输入的校验码对比。如果所有验证都通过,就会在页面上显示...

    C#验证身份证是否符合规则

    在C#编程中,验证身份证号码是否符合规则是一项常见的任务,尤其在处理用户注册、个人信息录入等场景。身份证号码是中国公民的唯一标识,由18位数字组成,包含出生日期、地区代码以及一个校验码。为了确保输入的...

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

    以上知识和代码片段提供了一个基本框架,可用于开发更复杂的身份证验证功能,如年龄计算、性别判断等。 总之,身份证验证在许多应用中都是一个关键环节,尤其是在用户注册、身份认证或数据录入等场景下,确保身份证...

    验证身份证号是否有效,包括有效位验证

    基本规则 身份证号码分为两种格式:15位和18位。 - **15位身份证号码**: - 由7位地区码、4位出生日期(YYMMDD)、4位顺序号组成。 - 出生年份为两位数,通常默认为1900年后的年份。 - **18位身份证号码**: -...

    身份证验证javascript脚本

    通过以上分析,我们可以看出这段JavaScript脚本主要实现了对身份证号码的基本验证,包括地区编码、生日日期以及18位身份证的校验码验证。开发者可以根据具体需求调整和扩展该脚本的功能,以满足更复杂的验证场景。...

    易语言身份证格式验证模块例程

    易语言身份证格式验证模块例程的核心任务就是检查输入的字符串是否符合这个规则。它通常会包含以下几个步骤: 1. **长度检查**:首先判断输入的身份证号码长度是否为18位,如果不是,则立即返回验证失败。 2. **...

    身份证号码验证的代码

    3. .NET框架提供的`System.ComponentModel.DataAnnotations`命名空间中的`RegularExpressionAttribute`,可以方便地在属性上声明验证规则,例如在MVC或Entity Framework中使用。 4. **异常处理**: 在验证过程中,...

    身份证验证系统 java

    首先,身份证验证涉及到的是中国公民身份证号码的编码规则。中国的身份证号码由18位数字组成,包含了出生日期、性别、地区代码等信息。验证身份证号码时,我们需要检查号码的结构是否符合规则,如前6位代表地区代码...

    JS实现的表单验证和强大的身份证

    - **扩展应用**:除了上述几种基本的验证方式外,还可以根据实际需求添加更多的验证逻辑,比如日期验证、电话号码验证等。 - **安全性**:虽然前端验证可以提供良好的用户体验,但不应仅依赖前端验证。所有的验证都...

    一个关于身份证号码验证程序

    身份证号码验证程序是一种用于确认个人身份的工具,它基于中国公民身份证号码的编码规则进行校验。中国的身份证号码由18位数字组成,分为多个部分,每部分都有特定的含义。下面将详细介绍身份证号码的结构及其验证...

    js验证身份证格式

    本压缩包提供的资源“js验证身份证”包含了一个JavaScript函数,用于检查输入的身份证号码是否符合15位或18位身份证号码的规则。 首先,我们来了解一下中国身份证的基本结构。15位身份证号码在1999年后已经被18位...

    基于API的 "中国身份证计算验证"

    - **验证身份证有效性**:将输入的18位身份证号码与计算出的校验码进行比较,如果一致,说明身份证号码基本正确。但请注意,这种验证方法只能检查数字的数学一致性,无法判断身份证是否真实存在,因为没有连接到任何...

    JavaScript的form表单验证中的身份证校验.pdf

    通过上述方法,我们可以有效地验证用户的身份证号码是否符合基本的格式要求。虽然正则表达式能够解决大部分问题,但对于复杂的校验逻辑,如计算校验码等,则需要额外的算法支持。总之,在实际应用中结合业务需求进行...

    身份证号验证程序javascript

    在现代Web开发中,表单验证是一项非常重要的任务,它确保用户输入的数据符合预期格式与规则。身份证号码验证作为其中的一个典型场景,对于确保数据的有效性和合法性至关重要。本文将详细解析一个用JavaScript编写的...

    C#.net验证控件常用的正则表达式邮箱地址验证身份证验证

    这种验证需要考虑到身份证号码的组成规则,包括地区码、出生日期码、顺序码和校验码。一个简单的身份证号验证正则表达式可以是: ```csharp string idCardRegex = @"^\d{6}(18|19|20)?\d{2}(0[1-9]|1[0-2])(0[1-9]|...

    身份证验证,获得出手年月日,性别,地址

    首先,要进行身份证验证,我们需要了解身份证号码的规则。前6位代表持证人的户籍所在地,接下来的8位表示出生日期(格式为YYYYMMDD),第14至17位是顺序码,奇数分配给男性,偶数分配给女性,第18位是校验码,用于...

Global site tag (gtag.js) - Google Analytics