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     }

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • BM3D算法学习

    BM3D算法学习来源:BM3D算法学习-知乎(zhihu.com)作者:爱酷的胡巴前些日子在学习图像降噪的算法,自然而然的发现了这篇里程碑式的作品,“BM3D”3D块匹配降噪算法,想来时间也久,赶紧再写下来,以免过后忘记。在学习的过程中,由于没学过数字图像处理,学起来还是挺墨迹的,前前后后得有四五天吧,才算整个大差不差,期间看了许多前辈的博客和代码,也总算有些许的进步和理解,特此感…

  • eclipse导入maven工程

    eclipse导入maven工程eclipse导入maven工程

  • Json的常用方法[通俗易懂]

    Json的常用方法[通俗易懂]Json的常用方法

  • 44h11资料_acwing是什么

    44h11资料_acwing是什么原题链接给定 N 个正整数 A1,A2,…,AN,从中选出若干个数,使它们的和为 M,求有多少种选择方案。输入格式第一行包含两个整数 N 和 M。第二行包含 N 个整数,表示 A1,A2,…,AN。输出格式包含一个整数,表示可选方案数。数据范围1≤N≤100,1≤M≤10000,1≤Ai≤1000输入样例:4 41 1 2 2输出样例:3#include<bits/stdc++.h>using namespace std;const int M = 1e4

  • SELinux深入理解

    SELinux深入理解

    2021年10月27日
  • VMM复习手记

    VMM复习手记VMM复习手记(2011-03-2119:35:43)标签:杂谈分类:tech1.使用VMM的库文件:`include”vmm.sv”2.基类和派生类指针引用:例如classpacket;classpacket_newextendspacket;packetp;packet_n

发表回复

您的电子邮箱地址不会被公开。

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