生活中有時需要在網(wǎng)站、應用程序、小程序中輸入身份證號碼,不小心輸入錯了的時候會提示輸入正確的證件號碼,系統(tǒng)如何判斷?難道攻破了官方數(shù)據(jù)庫系統(tǒng)?看完這篇文章你就會明白的~ ~ ~

2004年1月1日,第二代居民身份證開始交換,第一代居民身份證于2013年1月1日正式退出。

第一代身份證是15位數(shù)字,第二代身份證是18位數(shù)字。我們今天主要來看二代身份證的編碼規(guī)則及應用。

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

420984 19970109 601 3

公民身份號碼是特征組合碼,由前十七位數(shù)字本體碼和最后一位數(shù)字校驗碼組成。排列順序從左至右依次為六位數(shù)字地址碼,八位數(shù)字出生日期碼,三位數(shù)字順序碼和一位數(shù)字校驗碼。

地址碼:表示編碼對象常住戶口所在縣(市、旗、區(qū))的行政區(qū)劃代碼。對于新生兒,該地址碼為戶口登記地行政區(qū)劃代碼。需要說明的是,隨著行政區(qū)劃的調(diào)整,同一個地方進行戶口登記的可能存在地址碼不一致的情況。行政區(qū)劃代碼按GB/T2260的規(guī)定執(zhí)行。

出生日期碼:表示編碼對象出生的年、月、日,年、月、日代碼之間不用分隔符,格式為YYYYMMDD,如19970109。按GB/T 7408的規(guī)定執(zhí)行。

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

校驗碼:根據(jù)本體碼,通過采用ISO 7064:1983,MOD 11-2校驗碼系統(tǒng)計算出校驗碼。算法可參考下文。前面有提到數(shù)字校驗碼,我們知道校驗碼也有X的,實質(zhì)上為羅馬字符X,相當于10。

二、校驗碼算法

將本體碼各位數(shù)字乘以對應加權(quán)因子并求和,除以11得到余數(shù),根據(jù)余數(shù)通過校驗碼對照表查得校驗碼。

加權(quán)因子:

校驗碼:

算法舉例:

本體碼為:42098419970109601

第一步:各位數(shù)與對應加權(quán)因子乘積求和4*7+2*9+0*10+9*5+8*8+4*4+1*2+9*1+9*6+7*3+0*7+1*9+0*10+9*5+6*8+0*4+1*2=361

第二步:對求和進行除11得余數(shù)361/11=32余9

第三步:根據(jù)余數(shù)9對照校驗碼得3

因此完整身份證號為:420984199701096013

這個算法就可以用來判斷你輸入的身份證號碼是否正確。

1.《15開頭的身份證是哪里的?我來告訴你答案你知道身份證號碼18位數(shù)字的含義嗎?我們一起get。》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡信息知識,僅代表作者本人觀點,與本網(wǎng)站無關,侵刪請聯(lián)系頁腳下方聯(lián)系方式。

2.《15開頭的身份證是哪里的?我來告訴你答案你知道身份證號碼18位數(shù)字的含義嗎?我們一起get?!穬H供讀者參考,本網(wǎng)站未對該內(nèi)容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。

3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/fangchan/1955421.html