一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - 身份證號碼驗證算法深入研究和Java實現

身份證號碼驗證算法深入研究和Java實現

2019-12-24 13:11junjie JAVA教程

這篇文章主要介紹了身份證號碼驗證算法深入研究和Java實現,本文講解了18身份證號碼的結構、根據17位數字本體碼獲取最后一位校驗碼程序實例等內容,需要的朋友可以參考下

做項目的時候需要對拿到的數據進行“清洗”,比如剔除一些不可能存在的身份證號碼。查閱了網上的身份證號碼驗證算法,自己也總結一下。

(一)18身份證號碼的結構

  公民身份號碼是特征組合碼,由十七位數字本體碼和一位校驗碼組成。

  排列順序從左至右依次為:六位數字地址碼,八位數字出生日期碼,三位數字順序碼和一位校驗碼。

1、地址碼

  表示編碼對象常住戶口所在縣(市、旗、區)的行政區域劃分代碼,按GB/T2260的規定執行。

2、出生日期碼

  表示編碼對象出生的年、月、日,按GB/T7408的規定執行,年、月、日代碼之間不用分隔符。

3、順序碼

  表示在同一地址碼所標識的區域范圍內,對同年、同月、同日出生的人編定的順序號,順序碼的奇數分配給男性,偶數分配給女性。

4、校驗碼計算步驟

(1)十七位數字本體碼加權求和公式

  S = Sum(Ai * Wi), i = 0, ... , 16 ,先對前17位數字的權求和
  Ai:表示第i位置上的身份證號碼數字值(0~9)
  Wi:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 (表示第i位置上的加權因子)

(2)計算模

  Y = mod(S, 11)

(3)根據模,查找得到對應的校驗碼

  Y: 0 1 2 3 4 5 6 7 8 9 10
  校驗碼: 1 0 X 9 8 7 6 5 4 3 2

(二)根據17位數字本體碼獲取最后一位校驗碼程序實例

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Id18 {
  int[] weight={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};  //十七位數字本體碼權重
  char[] validate={ '1','0','X','9','8','7','6','5','4','3','2'};  //mod11,對應校驗碼字符值 
  
  public char getValidateCode(String id17){
    int sum=0;
    int mode=0;
    for(int i=0;i<id17.length();i++){
      sum=sum+Integer.parseInt(String.valueOf(id17.charAt(i)))*weight[i];
    }
    mode=sum%11;
    return validate[mode];
  }
  
  public static void main(String[] args){
    Id18 test=new Id18();
    System.out.println("該身份證驗證碼:"+test.getValidateCode("14230219700101101"));  //該身份證校驗碼:3
  }
}

(三)說明

1.程序可以根據已有的17位數字本體碼,獲取對應的驗證碼。

2.該程序可以剔除驗證碼不正確的身份證號碼。

3.15位的身份證出生年份采用年份后2位,沒有最后1位校驗碼。

4.完整的身份證18位,最后一位校驗位可能是非數字。我們的一個項目,數據庫保存前17位數字,這樣對應一些SQL語句(比如inner join)有加速作用的?。?!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费xxxx日本大片在线观看 | 免费看一级 | 波多野结衣xxxxx在线播放 | 亚洲女人国产香蕉久久精品 | 日韩黄色录像 | 日本视频二区 | 91麻豆精品国产自产在线观看 | 奇米精品 | 亚洲XXX午休国产熟女屁 | 五月天精品视频播放在线观看 | 99久久国产综合精品1尤物 | 日本不卡视频免费的 | 特a级片| 色综合色狠狠天天综合色 | 国产在线麻豆波多野结衣 | 女高h| 国产精品视频2021 | 99热免费在线观看 | jiujiure精品| 亚洲精品午夜视频 | 欧美日韩久久中文字幕 | 6080午夜 | 91看片淫黄大片.在线天堂 | 爱福利视频一区二区 | 99热精品久久 | 成人国产精品视频频 | 天堂网在线.www天堂在线资源 | 1769亚洲欧美资源站 | 996免费视频国产在线播放 | 青青青国产手机在线播放 | 久久re视频精品538在线 | 久久久乱码精品亚洲日韩 | 四虎影视4hu最新地址在线884 | 精品国产乱码久久久人妻 | 四虎www.| 亚洲国产无线码在线观看 | 亚洲成人mv| 色男人网 | 亚洲国产中文字幕在线视频综合 | 国产专区日韩精品欧美色 | 福利国模私拍视频在线观看 |