欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

二代身份證驗(yàn)證示例

 更新時間:2014年02月27日 14:38:11   作者:  
這篇文章主要介紹了二代身份證驗(yàn)證示例,需要的朋友可以參考下

(一)18身份證號碼的結(jié)構(gòu)

公民身份號碼是特征組合碼,由十七位數(shù)字本體碼和一位校驗(yàn)碼組成。

排列順序從左至右依次為:六位數(shù)字地址碼,八位數(shù)字出生日期碼,三位數(shù)字順序碼和一位校驗(yàn)碼。
1、地址碼
表示編碼對象常住戶口所在縣(市、旗、區(qū))的行政區(qū)域劃分代碼,按GB/T2260的規(guī)定執(zhí)行。
2、出生日期碼
表示編碼對象出生的年、月、日,按GB/T7408的規(guī)定執(zhí)行,年、月、日代碼之間不用分隔符。
3、順序碼
表示在同一地址碼所標(biāo)識的區(qū)域范圍內(nèi),對同年、同月、同日出生的人編定的順序號,順序碼的奇數(shù)分配給男性,偶數(shù)分配給女性。
4、校驗(yàn)碼計算步驟

(1)十七位數(shù)字本體碼加權(quán)求和公式
S = Sum(Ai * Wi), i = 0, ... , 16 ,先對前17位數(shù)字的權(quán)求和
Ai:表示第i位置上的身份證號碼數(shù)字值(0~9)
Wi:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 (表示第i位置上的加權(quán)因子)
(2)計算模
Y = mod(S, 11)

(3)根據(jù)模,查找得到對應(yīng)的校驗(yàn)碼
Y: 0 1 2 3 4 5 6 7 8 9 10
校驗(yàn)碼: 1 0 X 9 8 7 6 5 4 3 2

(二)根據(jù)17位數(shù)字本體碼獲取最后一位校驗(yàn)碼程序?qū)嵗?/P>

復(fù)制代碼 代碼如下:

public class Id18 {
    int[] weight={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};    //十七位數(shù)字本體碼權(quán)重
    char[] validate={ '1','0','X','9','8','7','6','5','4','3','2'};    //mod11,對應(yīng)校驗(yàn)碼字符值   

    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("該身份證驗(yàn)證碼:"+test.getValidateCode("14230219700101101"));    //該身份證校驗(yàn)碼:3
    }
}

(三)說明

1.程序可以根據(jù)已有的17位數(shù)字本體碼,獲取對應(yīng)的驗(yàn)證碼。

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

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

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

相關(guān)文章

  • 關(guān)于java數(shù)組與字符串相互轉(zhuǎn)換的問題

    關(guān)于java數(shù)組與字符串相互轉(zhuǎn)換的問題

    這篇文章主要介紹了java數(shù)組與字符串相互轉(zhuǎn)換的問題,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10
  • Java8中常用的日期時間工具類總結(jié)

    Java8中常用的日期時間工具類總結(jié)

    這篇文章主要為大家詳細(xì)介紹了Java8中常用的三個日期時間工具類,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以了解一下
    2023-07-07
  • String與Blob互轉(zhuǎn)和file文件與Blob互轉(zhuǎn)方式

    String與Blob互轉(zhuǎn)和file文件與Blob互轉(zhuǎn)方式

    這篇文章主要介紹了String與Blob互轉(zhuǎn)和file文件與Blob互轉(zhuǎn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • java中abstract修改類的實(shí)例方法

    java中abstract修改類的實(shí)例方法

    在本篇文章里小編給各位分享了一篇關(guān)于java中abstract修改類的實(shí)例方法,有需要的朋友們可以學(xué)習(xí)下。
    2020-12-12
  • Spring核心方法refresh的使用解析

    Spring核心方法refresh的使用解析

    這篇文章主要介紹了Spring核心方法refresh的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Java中全局變量和局部變量詳解(看這篇就夠了)

    Java中全局變量和局部變量詳解(看這篇就夠了)

    在Java中全局變量和局部變量是兩種不同作用域的變量,這篇文章主要給大家介紹了關(guān)于Java中全局變量和局部變量的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),大家看這篇就夠了,需要的朋友可以參考下
    2023-11-11
  • 詳解Netty編碼器和解碼器

    詳解Netty編碼器和解碼器

    很多小伙伴對Netty編解碼器這方面不是很了解,今天這篇文章給大家詳細(xì)介紹了Netty編碼器和解碼器的相關(guān)知識,需要的朋友可以參考下
    2021-06-06
  • MyBatis批量添加、修改和刪除

    MyBatis批量添加、修改和刪除

    本文給大家分享mybatis批量添加,修改,刪除的實(shí)例代碼,本文代碼簡單易懂,對mybatis 批量添加、修改及刪除相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01
  • SpringBoot集成easy-rules規(guī)則引擎流程詳解

    SpringBoot集成easy-rules規(guī)則引擎流程詳解

    這篇文章主要介紹了SpringBoot集成easy-rules規(guī)則引擎流程,合理的使用規(guī)則引擎可以極大的減少代碼復(fù)雜度,提升代碼可維護(hù)性。業(yè)界知名的開源規(guī)則引擎有Drools,功能豐富,但也比較龐大
    2023-03-03
  • spring boot 配置Filter過濾器的方法

    spring boot 配置Filter過濾器的方法

    本篇文章主要介紹了spring boot 配置Filter過濾器的方法,實(shí)例分析了spring boot 配置Filter過濾器的技巧,有興趣的可以了解一下。
    2017-03-03

最新評論