<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 33,  comments - 17,  trackbacks - 0
    現在的居民身份證由原先的15位號碼升級為18位了。從左至右,第1-2位為省級行政區劃代碼,第3-4為為地級行政區劃代碼,第5-6位為縣級行政區劃代碼,第7-10位為出生年份,第11-12位為出生月份,第13-14為出生日期,第15-17位為順序碼,表示在同一地址碼所標識的區域范圍內,對同年、同月、同日出生的人編定的順序號,順序碼的奇數分配給男性,偶數分配給女性,第18位為作為尾號的校驗碼,是由號碼編制單位按統一的公式計算出來的,如果某人的尾號是0-9,都不會出現X,但如果尾號是10,那么就得用X來代替,因為如果用10做尾號,那么此人的身份證就變成了19位。X是羅馬數字的10,用X來代替10,可以保證公民的身份證符合國家標準。

    根據《中華人民共和國國家標準GB 11643-1999》中有關公民身份號碼的規定,公民身份號碼是特征組合碼,由十七位數字本體碼和一位數字校驗碼組成。排列順序從左至右依次為:六位數字地址碼,八位數字出生日期碼,三位數字順序碼和一位數字校驗碼。順序碼的奇數分給男性,偶數分給女性。校驗碼是根據前面十七位數字碼,按照ISO 7064:1983.MOD 11-2校驗碼計算出來的檢驗碼。

    下面介紹算法。
    先引入公式:
    uploads/200709/21_204230_1.jpg
    uploads/200709/21_204643_1.jpg


    計算公式令結果為 Y,Y的計算公式為:Y = mod(S, 11)根據下表找出 Y 對應的校驗碼即為要求身份證號碼的校驗碼C。
    uploads/200709/21_205116_1.jpg


    例如:假設某女性居民的15位身份證號碼是320105820927512,32表示江蘇省,01表示南京市,05表示鼓樓區,820927表示1982年9月27日。512表示是該地區同年同月同日的第512人,其中2表示是女性。那么,升級為18位后的號碼為32010519820927512C。下面就根據公式來計算C的值。
    uploads/200709/21_214620_1.jpg

    Y = mod(S, 11)=MOD(313,11)=5
    根據校驗值對應表,可知C=7,該人員身份證號碼為:320105198209275127

    又如:某男性公民身份證號碼的本體碼為34052419800101001
    uploads/200709/21_213847_1.jpg
    Y = mod(S, 11)=MOD(189,11)=2
    查表得該人員身份證號碼為:34052419800101001X

    具體實現代碼如下(JAVA):
     1public boolean isIdCard(String arrIdCard) {
     2        int sigma = 0;
     3        Integer[] a = {7910584216379105842};
     4        String[] w = {"1""0""X""9""8""7""6""5""4""3""2"};
     5        for (int i=0; i<17; i++{
     6            int ai = Integer.parseInt(arrIdCard.substring(i,i+1));
     7            int wi = a[i];
     8            sigma += ai * wi;
     9        }

    10        int number = sigma % 11;
    11        String check_number = w[number];
    12        //return check_number;
    13        //System.out.println(check_number);
    14        if (!arrIdCard.substring(17).equals(check_number)) {
    15            return false;
    16        }
     else {
    17            return true;
    18        }

    19    }

    posted on 2008-05-28 19:48 scea2009 閱讀(25085) 評論(10)  編輯  收藏

    FeedBack:
    # re: 18位號碼身份證校驗碼的計算公式
    2011-07-24 11:06 | call mepro
    320105198209275127 成年了?
      回復  更多評論
      
    # re: 18位號碼身份證校驗碼的計算公式
    2011-08-12 16:47 | 阿斯頓撒
    @call mepro
    都40歲了好么  回復  更多評論
      
    # re: 18位號碼身份證校驗碼的計算公式
    2011-08-31 20:52 | 譚芳香
    還好  回復  更多評論
      
    # ISO 7064:1983.MOD 11-2
    2012-10-02 09:33 | 張策




      回復  更多評論
      
    # re: 18位號碼身份證校驗碼的計算公式
    2013-05-04 02:10 | 邱麗娟
    35078419861128420  回復  更多評論
      
    # re: 18位號碼身份證校驗碼的計算公式
    2013-05-04 02:11 | 邱麗娟
    邱麗娟  回復  更多評論
      
    # re: 18位號碼身份證校驗碼的計算公式
    2013-05-04 02:12 | 邱麗娟
    1public boolean isIdCard(String arrIdCard) {
    2 int sigma = 0;
    3 Integer[] a = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};
    4 String[] w = {"1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"};
    5 for (int i=0; i<17; i++) {
    6 int ai = Integer.parseInt(arrIdCard.substring(i,i+1));
    7 int wi = a[i];
    8 sigma += ai * wi;
    9 }
    10 int number = sigma % 11;
    11 String check_number = w[number];
    12 //return check_number;
    13 //System.out.println(check_number);
    14 if (!arrIdCard.substring(17).equals(check_number)) {
    15 return false;
    16 } else {
    17 return true;
    18 }
    19 }
      回復  更多評論
      
    # re: 18位號碼身份證校驗碼的計算公式
    2013-06-15 15:28 | lixziyu
    wozhidao  回復  更多評論
      
    # re: 18位號碼身份證校驗碼的計算公式
    2013-07-30 12:14 | 陸樹軍
    340621198706139338  回復  更多評論
      
    # re: 18位號碼身份證校驗碼的計算公式[未登錄]
    2014-01-08 23:17 | 李杰
    1@邱麗娟
      回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    <2014年1月>
    2930311234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    PL/SQL存儲過程與函數

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲av无码专区首页| 大桥未久亚洲无av码在线| 亚洲黄色网站视频| 亚洲成在人线aⅴ免费毛片| 亚美影视免费在线观看| 蜜臀AV免费一区二区三区| 日本一道本高清免费| 久久亚洲AV午夜福利精品一区| 国产成人精品日本亚洲直接 | 久久亚洲欧洲国产综合| 麻豆亚洲av熟女国产一区二| 无码人妻精品中文字幕免费| 又色又污又黄无遮挡的免费视| 亚洲成无码人在线观看| caoporm超免费公开视频| 久久夜色精品国产亚洲av| 一级毛片一级毛片免费毛片| 在线观看免费大黄网站| 97亚洲熟妇自偷自拍另类图片| 粉色视频成年免费人15次| 永久免费av无码不卡在线观看| 亚洲av午夜福利精品一区人妖| 无遮挡国产高潮视频免费观看| 午夜男人一级毛片免费| 精品国产亚洲AV麻豆 | 天天综合亚洲色在线精品| 亚洲国产免费综合| 伊人久久综在合线亚洲91| 日本亚洲欧美色视频在线播放| 亚洲国产人成精品| 人妻无码久久一区二区三区免费| 狠狠亚洲婷婷综合色香五月排名 | 999任你躁在线精品免费不卡| 亚洲另类图片另类电影| 在线观看免费av网站| 亚洲精品成人片在线播放| 国产A∨免费精品视频| 亚洲天堂一区二区| 57pao国产成视频免费播放 | 亚洲三级中文字幕| 6080午夜一级毛片免费看6080夜福利|