中国大陆的18位身份证号码系有一个通式的:
1、2位表示户籍所在省份
3、4表示户籍所在城市
5、6位表示户籍所在区或县
7~10位表示出生年份
11、12位表示出生月份
13、14表示出生日
15~17系按顺序分配顺序码(奇数分配给男性,偶数分配给女性)
18位系跟据前17位计算出的校验码
前六位根据《中华人民共和国行政区划代码》(GB/T2260-1995)http://www.stats.gov.cn/tjbz/xzqhdm/index.htm来确定具体地区编码
15位身份证转到18位方法:
public String get18idCard(String idCard15) {
final int[] W = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 };
final String[] A = { "1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2" };
int i, j, s = 0;
String newid = idCard15;
newid = newid.substring(0, 6) + "19" + newid.substring(6, 15); //得17位
for (i = 0; i < newid.length(); i++) {
j = Integer.parseInt(newid.substring(i, i + 1)) * W[i];
s = s + j;
}
s = s % 11;
newid = newid + A[s]; //取最后一位校验码
return newid;
}
分享到:
相关推荐
18位身份证号码校验位规则 18位身份证号码校验位规则
18位身份证号码验证代码,js验证 ,javascript验证18位身份证代码,js验证身份证号码。
身份证号码18位 和15位 验证的方法加正则表达式
java实现的18位身份证格式验证算法
JAVA身份证号码验证工具,通过身份证号码生成规则,能验证15位、18位身份证号码,必备验证方式
18位身份证标准在国家质量技术监督局于1999年7月1日实施的GB11643-1999《公民身份号码》中做了明确的规定。 GB11643-1999《公民身份号码》为GB11643-1989《社会保障号码》的修订版,其中指出将原标准名称"社会保障...
网上很多关于身份证校验的javascript代码,不过都没给全,以下是我添加全了函数一起提供的,希望对大家有所帮助。 javascript身份证号码验证-支持18位带x身份证。
中国大陆公民的二代身份证号码均为18位,其中前6位代表出生地所在省、市、区,第7~14位代表出生年、月、日,15~17位代表同地同日出生的人的序列号,最后一位是校验码,是根据ISO 7064:1983标准计算来的,其中X代表...
基于第二代身份证号码最后一位的编码规则的验证规则: 判定条件一:第二代身份证号码位数一共18位 判定条件二:根据身份证最后一位号码的编码的规则
中国的居民身份证有18位。其中前17位是信息码,最后1位是校验码。每位信息码可以是0-9的数字,而校验码可以是0-9或X,其中X表示10。 身份证校验码算法: 设18位身份证号序列从左到右为: 引用 a[0], a[1], a[2], a[3...
VB做的18位身份证号码真伪校验程序,内附:身份证号码真伪检验程序规则.txt。
本函数提供18位身份证校验位的计算方法,输入前17位即可得到第18位的校验码!
js验证身份证号码的有效方法 js验证身份证号码的有效方法 js验证身份证号码的有效方法 js验证身份证号码的有效方法 js验证身份证号码的有效方法 js验证身份证号码的有效方法js验证身份证号码的有效方法
C++身份证号码校验,身份证号码的排序规则,以及如何用c++对身份证好码进行信息查询
身份证号码数据详细列表 身份证号码数据详细列表
针对身份证号码的校验,以及能自动将身份证从15位升级为18位
C#实现的18位身份证格式验证算法.txt
身份证号码前六位对应的籍贯,共6456条记录,含台湾香港澳门。
从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。 将这17位数字和系数相乘的结果相加。 用加出来和除以11,取余数。 余数只可能有0-1-2-3-4-5-6-7-8-9-10这11...
一代15位身份证二代18位身份证正则表达式校验,带详细注释,每个字符注释,大厂通用