//开始 15位到18位的身份证号转换
//身份证号码由十七位数字本体码和一位校验码组成,排列顺序从左至右依次为:
//六位数地址码、八位数字的出生日期码、三位数字的顺序码和一位数字的校验码
public String change18ID(String ID15){
String ID18="";
if(ID15.length()==18){
ID18=ID15.toUpperCase();
}
if(ID15.length()==15){
int[] w={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1};
char[] A={'1','0','X','9','8','7','6','5','4','3','2'};
String ID17=ID15.substring(0,6)+"19"+ID15.substring(6,15);
int[] ID17Array;
ID17Array=new int[17];
for(int i=0;i<17;i++){
ID17Array[i]=Integer.parseInt(ID17.substring(i,i+1));
}
int s=0;
for(int i=0;i<17;i++){
s=s+ID17Array[i]*w[i];
}
s=s%11;
ID18=ID17+A[s];
}
return ID18.trim();
}
//结束 15位到18位的身份证号转换
public String change15ID(String ID18){
String ID15="";
if(ID18.length()==15) ID15=ID18;
if(ID18.length()==18){
ID15=ID18.substring(0,6)+ID18.substring(8,17);
}
return ID15.trim();
}
分享到:
相关推荐
为此,设计了一款专门用于校验15位与18位公民身份证号码合法性的SQL函数。 #### 二、身份证号码结构分析 根据中国公民身份证号码的标准,我们可以将身份证号码分为以下几部分: - **15位身份证号码**:由[6位地区码...
- **Part1**: 身份证号码15位到18位的转换函数`convert1518`,该函数首先检查输入是否为18位,如果是则截取并返回15位身份证号;如果输入为15位,则进行转换成18位身份证号,涉及复杂的数学运算和校验码计算。 - **...
kettle 提供了两个函数 getId15 和 getId18,分别用于将 15 位身份证号码转换为 18 位和将 18 位身份证号码转换为 15 位。 在 kettle 中,我们使用正则表达式来验证数据。正则表达式是一种基于模式匹配的字符串匹配...
总之,身份证号的前六位不仅是个人身份的一部分,更是国家行政区划与信息化建设紧密结合的产物。它在数据处理、信息检索和政策制定等多个方面发挥着不可替代的作用,是现代社会高效运作的重要基石之一。对于IT行业的...
该方法使用JSP页面接收用户输入的十五位身份证号码,然后使用JAVA语言编写的函数changeID()将十五位身份证号码转换为十八位身份证号码,最后将转换结果显示在JSP页面上。 该方法的实现步骤如下: 1. 首先,创建一...
"18位身份证号码转换成出生日期的函数公式归类" 在这个函数公式中,我们可以看到的是18位身份证号码转换成出生日期的公式归类,包括身份证号码的性别判断、出生日期提取和年龄计算等信息。 首先,我们需要判断...
本文将详细讲解基于Qt4开发的旧版身份证号转换程序,该程序的主要功能是将15位身份证号码转换为包含世纪信息的18位号码。这个项目对于学习Qt编程和理解身份证号码转换逻辑的人来说非常有价值。 首先,让我们从Qt4...
- 考虑到15位身份证号码的情况,虽然现在18位身份证已经普及,但仍有老版15位号码存在。 - 校验码的验证,以确保身份证号码的合法性。 - 针对籍贯省市的获取,可能需要维护一个静态的行政区划代码库,或者利用网络...
身份证号码分为15位和18位两种格式,其中18位号码是在15位基础上增加了一个4位出生年份以及一位校验码。本文将详细介绍如何使用正则表达式进行身份证号码的有效性和合理性验证。 #### 简单校验:正则表达式的使用 ...
身份证号码的前6位代表了行政区划代码,第7位到第14位是出生日期,格式为YYYYMMDD,第15位到第17位是顺序码(奇数分配给男性,偶数分配给女性),最后一位是校验码。因此,提取出生日期的关键就是从身份证号码字符串...
首先,中国的身份证号码是由18位数字组成的,前6位代表的是行政区划代码,接下来的8位表示出生日期,接下来的3位是顺序码,最后一位是校验码。因此,分析身份证号码,我们需要理解这些编码规则,并能将它们转换为...
在实际应用中,我们还需要考虑一些特殊情况,如旧版15位身份证号码的兼容,以及身份证号码中可能出现的非标准字符。同时,为了保护用户隐私,验证身份证号码时不应直接显示完整的号码,而应进行脱敏处理,例如仅显示...
4. **出生日期验证**:将第7位到第14位转换为日期格式,并与标准日期格式进行比较,确保日期是有效的。 5. **性别判断**:根据第17位的奇偶性判断性别。如果该位是奇数,说明是男性;如果是偶数,说明是女性。 6. ...
4. **校验码对比**:最后,比较计算出的校验码与输入身份证号的最后一位是否一致。 ```java public boolean isCheckCodeValid(String id) { String calculatedCheckCode = calculateCheckCode(id.substring(0, 17)...
在Java中实现18位身份证格式验证涉及到多个步骤,主要包括:校验位计算、出生日期转换以及地区编码验证。下面将详细介绍这些知识点。 1. **身份证号码结构** - 中国18位身份证号码由17位数字和最后一位校验码组成...
学号与身份证文件名随意转换.学号与身份证文件名随意转换.学号与身份证文件名随意转换.
在描述中提到,此程序能够处理15位和18位的身份证号码,并且指出身份证号码的最后一位与前面的数字存在某种关系。这个关系是基于中国公民身份证号码的校验规则。 首先,我们来了解一下中国的身份证号码。15位身份证...
因为身份证号码通常有固定的格式(18位数字),所以可以通过正则表达式筛选出匹配的字符串: ```csharp using System.Text.RegularExpressions; string idNumberRegex = @"^\d{18}$"; Match match = Regex.Match...
身份证号码在中国是个人身份的重要标识,由18位数字组成,包含了出生日期、性别、地区代码等信息。在GIS数据处理中,确保身份证号码的正确性至关重要,以免引入错误信息。通过FME自定义转换器,我们可以添加特定的...
- **身份证号码长度检查**:如果身份证号码长度小于15位、等于16位、等于17位或者大于18位,则提示“证书必须是15位或18位”并返回。 - **身份证号码格式检查**:如果身份证号码不符合正则表达式`^\d{17}(\d|x)$`...