`
huttoncs
  • 浏览: 199039 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

身份证15位转18位方法

    博客分类:
  • java
阅读更多
/** 15位身份证转18位 */
public  String fixPersonIDCode(String personIDCode){
if (personIDCode == null || personIDCode.trim().length() != 15) {
return personIDCode;
}
String id17 = personIDCode.substring(0, 6) + "19"
+ personIDCode.substring(6, 15); // 15为身份证补\'19\'
// char[] code =
// {\'1\',\'0\',\'X\',\'9\',\'8\',\'7\',\'6\',\'5\',\'4\',\'3\',\'2\'};
// //11个
char[] code = { '1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2' }; // 11个
int[] factor = { 0, 2, 4, 8, 5, 10, 9, 7, 3, 6, 1, 2, 4, 8, 5, 10, 9, 7 }; // 18个;
int[] idcd = new int[18];
int i;
int j;
int sum;
int remainder;
for (i = 1; i < 18; i++)
{
j = 17 - i;
idcd[i] = Integer.parseInt(id17.substring(j, j + 1));
}
sum = 0;
for (i = 1; i < 18; i++)
{
sum = sum + idcd[i] * factor[i];
}
remainder = sum % 11;
String lastCheckBit = String.valueOf(code[remainder]);
return id17 + lastCheckBit;

}
分享到:
评论

相关推荐

    身份证15位转18位的JSP实现方法整理.pdf

    身份证15位转18位的JSP实现方法整理.pdf

    js身份证判断方法支持15位和18位

    主要介绍了js身份证判断方法支持15位和18位,需要的朋友可以参考下

    java联系题

    7. 有以下15位身份证数据,假设被存在sfzMessage中; sfzMessage=“370102770102413, 370102760807911, 370102660810114,…” 现在把这组数据变为18位,结果为 “ 37010219770102413A, 37010219760807911B, ...

    C# 身份证验证器

    创建一个CheckCard方法用于检查身份证号码是否合法,如果身份证号为18位,调用CheckCard18方法验证,如果身份证号为15位,调用CheckCard15方法验证,如果输入的是15位的身份证号码,需要将其转换成18位,如果是奇数...

    员工年龄确认程序文件.pdf

    3.1 身份证真伪自动校核(此功能适用于 15 位老式身份证和 18 位新式身份证。 ) 4.2. 3.2 接通 220V 交流电源,打开主座后边开关,按前面板右侧"黑色键"前面板中间灯 亮,预热 30 秒, 将身份证正面(头像朝外,有...

    orcale数据库方法.rar

    fn_IdCard_15to18:身份证15转18 fn_IdCard_Verify:身份证校验 FN_LEFT:左切割 fn_len_cn:字符串切割 FN_RIGHT:右切割

    常用js大全,javascript校验大全

    1.35 身份证为 15 或 18 位数字或字母 38 1.36 检验输入的时间段,日期格式yyyy-MM-dd 39 1.37 检验输入的时间段,日期格式yyyy-MM-dd 41 1.39 检查EMail格式是否正确.. 47 1.40 电话号码校验(只能为下划线—、()、...

    js脚本大全 js验证大全 压缩包

    1.35 身份证为 15 或 18 位数字或字母 38 1.36 检验输入的时间段,日期格式yyyy-MM-dd 39 1.37 检验输入的时间段,日期格式yyyy-MM-dd 41 1.39 检查EMail格式是否正确.. 47 1.40 电话号码校验(只能为下划线—、()、...

    Excel函数活用范例大辞典(全新版).何先军.2015-2(带书签高清文字版).pdf

    171 将15位身份证号码升级为18位 338 172 升级产品型号 340 173 将专业/年级/班级/名称分开 341 174 从软件名称中提取软件的版本号 343 175 统计各部门的员工人数 345 176 提取姓名和省名 347 ◎获取...

    delphi 开发经验技巧宝典源码

    0042 如何继承父类的方法 27 0043 如何实现函数重载 28 0044 类中多态的应用 28 0045 将函数作为参数进行调用 30 2.3 参数与指针 30 0046 通过指针读写数据 30 0047 在过程中使用常量参数 31 0048 在...

    delphi 开发经验技巧宝典源码06

    0042 如何继承父类的方法 27 0043 如何实现函数重载 28 0044 类中多态的应用 28 0045 将函数作为参数进行调用 30 2.3 参数与指针 30 0046 通过指针读写数据 30 0047 在过程中使用常量参数 31 0048 在...

    C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载

    实例142 身份证号从15位升到18位的算法 186 实例143 歌德巴赫猜想的算法实现 187 实例144 八皇后问题的算法实现 188 实例145 百钱百鸡的算法实现 190 实例146 韩信点兵的算法实现 191 实例147 实现斐波纳契数列求和 ...

    C#编程经验技巧宝典

    58 &lt;br&gt;0081 文本中首字母改为大写 59 &lt;br&gt;0082 C#随机数的产生 59 &lt;br&gt;0083 身份证从15位升至18位算法 60 &lt;br&gt;0084 十进制数转二进制数的算法 60 &lt;br&gt;0085 十进制数转八进制数的算法 61...

    Java 2实用教程(第三版)实验指导与习题解答

    实验1 String类的常用方法 19 实验2 比较日期的大小 21 实验3 处理大整数 22 上机实践6 组件及事件处理 23 实验1 算术测试 23 实验2 信号灯 25 实验3 布局与日历 28 上机实践7 组件及事件处理2 31 实验1 方程求根 31...

    EXCEL集成工具箱V8.0完整增强版(精简)

    作了18个分类, 而在函数向导对话框中也生成100个左右新的函数,用于扩展Excel的计算功能。且所有功能都通用于 Excel 2002、2003和2007、2010。支持中英文显示与繁简体操作系统、拥有20多款华丽的皮肤界面,支持Excel...

    WHC第三方控件

    7. 身份证操作辅助类(IDCardHelper.cs) 8. 检测字符编码的类(IdentifyEncoding.cs) 9. RGB颜色操作辅助类(MyColors.cs) 10. 日期操作类(MyDateTime.cs) 11. 转换人民币大小金额辅助类(RMBUtil.cs) 12. 常用的...

Global site tag (gtag.js) - Google Analytics