/**
* 根据身份证号获取性别
*
* @param pid
* 身份证号
* @return 性别 F为女M为男
*/
public static String getSexByPid(String pid)throws Exception{
if(pid!=null&&(pid.trim().length()== 15||pid.trim().length()==18)){
if(pid.trim().length()==15){
String pid18 = "";//pid15To18(pid);
if(Integer.parseInt(pid18.substring(16,17))%2==0){
return "女";
}else{
return "男";
}
}else{
if(Integer.parseInt(pid.substring(16,17))%2==0){
return "女";
}else{
return "男";
}
}
}else{
return null;
}
} /**
* 15位身份证 转18位
* lsp 2017年1月19日13:47:52
* @param fifteenIDCard
* @return
* @throws Exception
*/
public static String getEighteenIDCard(String fifteenIDCard) throws Exception {
if (fifteenIDCard != null && fifteenIDCard.length() == 15) {
StringBuilder sb = new StringBuilder();
sb.append(fifteenIDCard.substring(0, 6)).append("19").append(
fifteenIDCard.substring(6));
sb.append(getVerifyCode(sb.toString()));
return sb.toString();
} else {
throw new Exception("不是15位的身份证");
}
} /**
* 获取身份证的校验码
* lsp 2017年1月19日13:47:52
* @param idCardNumber
* @return
* @throws Exception
*/
public static char getVerifyCode(String idCardNumber) throws Exception {
if (idCardNumber == null || idCardNumber.length() < 17) {
throw new Exception("不合法的身份证号码");
}
char[] Ai = idCardNumber.toCharArray();
int[] Wi = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 };
char[] verifyCode = { '1', '0', 'X', '9', '8', '7', '6', '5', '4', '3',
'2' };
int S = 0;
int Y;
for (int i = 0; i < Wi.length; i++) {
S += (Ai[i] - '0') * Wi[i];
}
Y = S % 11;
return verifyCode[Y];
} public static void main(String[] args) throws Exception {
System.out.println(getEighteenIDCard("330324360802695"));
}

java 身份证15位转18位的更多相关文章

  1. java中身份证号15位转18位

    /** * 将15位转换为18位 * @param idCode 15位身份证号 * @return String 18位身份证号 */ public String toEighteen(String ...

  2. 身份证号码15位转18位 C#实现

    [身份证最后一位神秘X的由来]身份证中的“冷知识”1999年的今天,<国务院关于实行公民身份号码制度的决定>被发布,当年10月1日实施.为什么有的有X?这位数是根据前17位计算出的校验码. ...

  3. 做一个牛XX的身份证号验证类(支持15位和18位)

    原文:做一个牛XX的身份证号验证类(支持15位和18位) #region 是否合法的中国身份证号码 protected bool IsChineseID() { if (str.Length == 1 ...

  4. php 验证身份证有效性,根据国家标准GB 11643-1999 15位和18位通用

    //验证身份证是否有效 function validateIDCard($IDCard) { if (strlen($IDCard) == 18) { return check18IDCard($ID ...

  5. C# 身份证号码15位和18位验证

    /// <summary> /// 身份证 /// </summary> [Serializable] public class IDCard {     /// <su ...

  6. js从字符串中提取身份证号,连续18位数字

    <!DOCTYPE html> <html> <head> <title>提取身份证号</title> <meta charset=& ...

  7. 18位身份证验证--java实现,正则表达式

    简单的正则表达式: (1)preg_match("/^(\d{18,18}|\d{15,15}|\d{17,17}x)$/",$id_card)(2)preg_match(&quo ...

  8. Js完美验证15/18身份证,Js验证身份证,支持15/18位

    Js完美验证15/18身份证,Js验证身份证,支持15/18位 >>>>>>>>>>>>>>>>> ...

  9. js验证15位或18位身份证

    本篇文章是本人在网上搜集了一些验证,然后又个人进行一定修改的关于身份证的验证,欢迎修改指正..... function IdCardValidateRule(idCard) { var tip;    ...

随机推荐

  1. LeetCode:11. ContainerWithWater(Medium)

    原题链接:https://leetcode.com/problems/container-with-most-water/description/ 题目要求:给定n个非负整数a1,a2,...,an  ...

  2. centos下搭建svn服务器端/客户端

    1.安装 yum install subversion httpd mod_dav_svn 2.创建仓库存储代码 mkdir /var/repos svnadmin create /var/repos ...

  3. Python的类(二)

    一.类的重写 对于父类的方法,只要它不符合子类模拟的实物的行为,都可对其进行重写.为此,可在子类中定义一个这样的方法,即它与要重写的父类方法同名.这样, Python将不会考虑这个父类方法,而只关注你 ...

  4. Django 2.0官方文档中文 渣翻 总索引(个人学习,欢迎指正)

    Django 2.0官方文档中文 渣翻 总索引(个人学习,欢迎指正) 置顶 2017年12月08日 11:19:11 阅读数:20277 官方原文: https://docs.djangoprojec ...

  5. 第十篇 Python的字符串格式化

    字符串格式化:就是按照你的意愿做一个拼接的过程. 1. 字符串格式化的第一种方式:百分号方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存. %[ ...

  6. 实现网页布局的自适应 利用@media screen

    利用@media screen实现网页布局的自适应,IE9一下不支持 @media screen /*1280分辨率以上(大于1200px)*/ @media screen and (min-widt ...

  7. python终极篇 --- django 初识

    1. 下载: 命令行: pip install django==1.11.15 pip install -i 源 django==1.11.15 pycharm settings 解释器 点+号 输入 ...

  8. KVM WEB管理工具——WebVirtMgr(二)日常配置

    配置宿主机 1.登录WebVirtMgr管理平台 2.添加宿主机 选择首页的WebVirtMgr -->Addd Connection 选择“SSH链接“,设置Label,IP,用户 注意:La ...

  9. ECharts 上传图片Example

    前端 1.为ECharts准备一个div <div id="main" style="Height:400px"></div> 2.引入 ...

  10. 最短路径——Bellman-Ford算法

    一.相关定义 最短路径:求源点到某特定点的最短距离 特点:Bellman-Ford算法主要是针对有负权值的图,来判断该图中是否有负权回路或者存在最短路径的点 局限性:算法效率不高,不如SPFA算法 时 ...