java 身份证15位转18位「建议收藏」

java 身份证15位转18位「建议收藏」1/**2*根据身份证号获取性别3*4*@parampid5*身份证号6*@return性别F为女M为男7*/8publicstaticStringg

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

 1 /**
 2        * 根据身份证号获取性别
 3        * 
 4       * @param pid
 5        *            身份证号
 6        * @return 性别 F为女M为男
 7        */
 8      public static String getSexByPid(String pid)throws Exception{
 9          if(pid!=null&&(pid.trim().length()== 15||pid.trim().length()==18)){
10              if(pid.trim().length()==15){
11                  String pid18 = "";//pid15To18(pid);
12                  if(Integer.parseInt(pid18.substring(16,17))%2==0){
13                      return "女";
14                  }else{
15                      return "男";
16                  }
17              }else{
18                  if(Integer.parseInt(pid.substring(16,17))%2==0){
19                      return "女";
20                  }else{
21                      return "男";
22                  }
23              }
24          }else{
25              return null;
26          }
27     }
28      
29     
30      /**
31       * 15位身份证 转18位   
32       * lsp  2017年1月19日13:47:52 
33       * @param fifteenIDCard
34       * @return
35       * @throws Exception
36       */
37     public static String getEighteenIDCard(String fifteenIDCard) throws Exception {
38         if (fifteenIDCard != null && fifteenIDCard.length() == 15) {
39             StringBuilder sb = new StringBuilder();
40             sb.append(fifteenIDCard.substring(0, 6)).append("19").append(
41                     fifteenIDCard.substring(6));
42             sb.append(getVerifyCode(sb.toString()));
43             return sb.toString();
44         } else {
45             throw new Exception("不是15位的身份证");
46         }
47     }
48     
49     /**
50      *  获取身份证的校验码 
51      *  lsp  2017年1月19日13:47:52 
52      * @param idCardNumber
53      * @return
54      * @throws Exception
55      */
56     public static char getVerifyCode(String idCardNumber) throws Exception {
57         if (idCardNumber == null || idCardNumber.length() < 17) {
58             throw new Exception("不合法的身份证号码");
59         }
60         char[] Ai = idCardNumber.toCharArray();
61         int[] Wi = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 };
62         char[] verifyCode = { '1', '0', 'X', '9', '8', '7', '6', '5', '4', '3',
63                 '2' };
64         int S = 0;
65         int Y;
66         for (int i = 0; i < Wi.length; i++) {
67             S += (Ai[i] - '0') * Wi[i];
68         }
69         Y = S % 11;
70         return verifyCode[Y];
71     }
72     
73     public static void main(String[] args) throws Exception {
74         System.out.println(getEighteenIDCard("330324360802695"));
75     }

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/167165.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 面试题,说说你对spring IOC和AOP的理解

    面试题,说说你对spring IOC和AOP的理解https://blog.csdn.net/s20081294/article/details/44677387在面试中,经常会问,说说你对springIOC和AOP的理解,问题很宽泛,似乎不知道从何说起。回答思路:1.先用通俗易懂的话解释下何为IOC和AOP———》2.各自的实现原理———–》3.自己的项目中如何使用以下是个人的一些总结,仅供参考。1.IOC…

    2022年6月16日
    66
  • matlab怎么表示二元函数,如何用Matlab画二元函数?[通俗易懂]

    matlab怎么表示二元函数,如何用Matlab画二元函数?[通俗易懂]1、首先打开matlab。2、在matlab当前目录空2113间右键5261。41023、然后点击new->M-File。4、然后将文件命令为hello.m。5、然后双击该文1653件,输入[Rmdm]=meshgrid(15:5:50,1:10);6、然后添加f=0.034488*(Rm.^1.9400).*(10^-0.0173*dm);7、接着添加surf(Rm,dm,f)…

    2025年9月29日
    2
  • Android游戏引擎_巨星引擎网络公司

    Android游戏引擎_巨星引擎网络公司学Android游戏开发的朋友,往往会显得有些无所适从,他们常常不知道该从何处入手,每当遇到自己无法解决的难题时,又往往会一边羡慕于iPhone下有诸如Cocos2d-iphone之类的免费游戏引擎可供使用,一边自暴自弃的抱怨Android平台游戏开发难度太高,又连个像样的游戏引擎也没有,甚至误以为使用Java语言开发游戏是一件费力不讨好且没有出路的事情。事实上,这种想法完全是没有必要且不

    2025年11月27日
    2
  • latex希腊字母对照表_24个希腊字母怎么读

    latex希腊字母对照表_24个希腊字母怎么读LATEXL^AT_EXLATE​X希腊字母对照表显示输入显示输入α\alphaα\alphaβ\betaβ\betaγ\gammaγ\gammaδ\deltaδ\deltaε\varepsilonε\varepsilonη\etaη\etaθ\thetaθ\thetaι\iotaι\iotaκ\kappaκ\kappaλ\lambdaλ\lambdaμ\muμ\muν\nuν\nuξ\xiξ\xiooo

    2022年10月13日
    1
  • linux怎么查看jdk的安装版本和安装路径_yum查看已安装的软件

    linux怎么查看jdk的安装版本和安装路径_yum查看已安装的软件打开终端,输入java-version即可显示当前系统的jdk版本打开终端,输入java-verbose即可显示当前系统的jdk的安装位置

    2022年9月23日
    5
  • CSDN 赚积分&C币方法[通俗易懂]

    CSDN 赚积分&C币方法[通俗易懂]于2019-03-20补充下载积分规则(2019-03-20)项目名称 获得细则 积分数量 普通资源被下载 100分封顶,下载自己资源无积分 资源分*下载量 获得C币规则(2019-03-20)1.撰写博文获得C币现在去发博文行为 获得数量 说明 博客专家每月原创文章数>=4 10 月度奖励,于下月月初结算…

    2022年5月29日
    701

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号