第一篇:身份證號碼的編排規(guī)則
身份證號碼的編排規(guī)則
身份證號碼中這些數(shù)字是怎樣排列的,每個數(shù)字表示什么意思呢?下面就讓我們一起來探索其中的規(guī)律吧!新的身份證號碼是由18位數(shù)字組成的,它們分別表示:
(1)前1、2位數(shù)字表示:所在省份的代碼;(2)第3、4位數(shù)字表示:所在城市的代碼;(3)第5、6位數(shù)字表示:所在區(qū)縣的代碼;(4)第7~14位數(shù)字表示:出生年、月、日;
(5)第15、16位數(shù)字表示:所在地的派出所的代碼;
(6)第17位數(shù)字表示性別:奇數(shù)表示男性,偶數(shù)表示女性;
(7)第18位數(shù)字是校檢碼:也有的說是個人信息碼,一般是隨計算機的隨機產(chǎn)生,用來檢驗身份證的正確性。校檢碼可以是0~9的數(shù)字,有時也用x表示。
15位的身份證號 dddddd yymmdd xx p 18位的身份證號
dddddd yyyymmdd xx p y
其中dddddd為地址碼(省地縣三級)18位中的和15位中的不完全相同 yyyymmdd yymmdd 為出生年月日 xx順號類編碼 p性別
18位中末尾的y為校驗碼,將前17位的ascii碼值經(jīng)位移、異或運算結(jié)果不在0-9的令其為x
18位身份證標(biāo)準(zhǔn)在國家質(zhì)量技術(shù)監(jiān)督局于1999年7月1日實施的GB11643-1999《公民身份號碼》中做了明確規(guī)定。
GB11643-1999《公民身份號碼》為GB11643-1989《社會保障號碼》的修訂版,其中指出將原標(biāo)準(zhǔn)名稱“社會保障號碼”更名為“公民身份號碼”,另外GB11643-1999《公民身份號碼》從實施之日起代替GB11643-1989。
公民身份號碼是特征組合碼,由十七位數(shù)字本體碼和一位校驗碼組成。排列順序從左至右依次為:六位數(shù)字地址碼,八位數(shù)字出生日期碼,三位數(shù)字順序碼和一位校驗碼。其含義如下:
1.地址碼:表示編碼對象常住戶口所在縣(市、旗、區(qū))的行政區(qū)劃代碼,按GB/T2260的規(guī)定執(zhí)行。
2.出生日期碼:表示編碼對象出生的年、月、日,按GB/T7408的規(guī)定執(zhí)行,年、月、日分別用4位、2位、2位數(shù)字表示,之間不用分隔符。
3.順序碼:表示在同一地址碼所標(biāo)識的區(qū)域范圍內(nèi),對同年、同月、同日出生的人編定的順序號,順序碼的奇數(shù)分配給男性,偶數(shù)分配給女性。
校驗的計算方式:
1.對前17位數(shù)字本體碼加權(quán)求和
公式為:S = Sum(Ai * Wi), i = 0,..., 16
其中Ai表示第i位置上的身份證號碼數(shù)字值,Wi表示第i位置上的加權(quán)因子,其各位對應(yīng)的值依次為: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
2.以11對計算結(jié)果取模
Y = mod(S, 11)
3.根據(jù)模的值得到對應(yīng)的校驗碼
對應(yīng)關(guān)系為:
Y值: 0 1 2 3 4 5 6 7 8 9 10
校驗碼: 1 0 X 9 8 7 6 5 4 3 2
第二篇:18位公民身份證號碼的編排規(guī)則
18位公民身份證號碼的編排規(guī)則 18位身份證標(biāo)準(zhǔn)在國家質(zhì)量技術(shù)監(jiān)督局于1999年7月1日實施的GB11643-1999《公民身份號碼》中做了明確規(guī)定。
GB11643-1999《公民身份號碼》為GB11643-1989《社會保障號碼》的修訂版,其中指出將原標(biāo)準(zhǔn)名稱&;社會保障號碼&;更名為&;公民身份號碼&;,另外GB11643-1999《公民身份號碼》從實施之日起代替GB11643-1989。
公民身份號碼是特征組合碼,由十七位數(shù)字本體碼和一位校驗碼組成。排列順序從左至右依次為:六位數(shù)字地址碼,八位數(shù)字出生日期碼,三位數(shù)字順序碼和一位校驗碼。其含義如下:
1.地址碼:表示編碼對象常住戶口所在縣(市、旗、區(qū))的行政區(qū)劃代碼,按GB/T2260的規(guī)定執(zhí)行。
2.出生日期碼:表示編碼對象出生的年、月、日,按GB/T7408的規(guī)定執(zhí)行,年、月、日分別用4位、2位、2位數(shù)字表示,之間不用分隔符。
3.順序碼:表示在同一地址碼所標(biāo)識的區(qū)域范圍內(nèi),對同年、同月、同日出生的人編定的順序號,順序碼的奇數(shù)分配給男性,偶數(shù)分配給女性。
校驗的計算方式:
1.對前17位數(shù)字本體碼加權(quán)求和
公式為:S = Sum(Ai * Wi), i = 0,..., 16
其中Ai表示第i位置上的身份證號碼數(shù)字值,Wi表示第i位置
上的加權(quán)因子,其各位對應(yīng)的值依次為:
2.以11對計算結(jié)果取模
Y = mod(S, 11)
3.根據(jù)模的值得到對應(yīng)的校驗碼
對應(yīng)關(guān)系為:
Y值: 0、1、2、3、4、5、6、7、8、9、10校驗碼:
1、0、X、9、8、7、6、5、4、3、2公民身份證號碼按照GB11643—1999《公民身份證號碼》國家標(biāo)準(zhǔn)編制,由18位數(shù)字組成:前6位為行政區(qū)劃分代碼,第7位至14位為出生日期碼,第15位至17位為順序碼,第18位為校驗碼。
15~17位為順序號,是縣、區(qū)級政府所轄派出所的分配碼,每個派出所分配碼為10個連續(xù)號碼,例如&;000-009&;或&;060-069&;,其中單數(shù)為男性分配碼,雙數(shù)為女性分配碼,如遇同年同月同日有兩人以上時順延第二、第三、第四、第五個分配碼。如:007的就是個男生 而且和他同年月日生的男生至少有兩個 他們的后四位是001* 和 003*
第18位號碼是校驗碼,目的在于檢測身份證號碼的正確性,是由計算機隨機產(chǎn)生的,所以不再是男性為單數(shù),女性為雙數(shù)。
前1、2位數(shù)字表示:所在省份的代碼; 第3、4位數(shù)字表示:所在城市的代碼; 第5、6位數(shù)字表示:所在區(qū)縣的代碼。
第三篇:身份證號碼證明
公民身份證號碼更正證明
本轄區(qū)公民吳彥(曾用名),女,漢族,河南省泌陽縣泌水鎮(zhèn)新村居委會住。
原使用的公民身份號碼為:
系(重 / 錯)號。根據(jù)《中華人民共和國居民身份證法》的有關(guān)規(guī)定及公民身份號碼的編制原則,為確保公民身份證號碼的準(zhǔn)確性和唯一性,自2008 年月日起將原號碼更正為:
特此證明
河南省泌陽縣泌水派出所
2011 年9 月22 日
注:請為申請人吳彥辦理公民身份號碼變更的相關(guān)事宜。此件為原件,如需要請留存復(fù)印件。、
第四篇:身份證號碼含義
新的身份證為18位,老的身份證是15位。關(guān)于身份證第18是怎么計算的,原理如下:根據(jù)〖中華人民共和國國家標(biāo)準(zhǔn) GB 11643-1999〗中有關(guān)公民身份號碼的規(guī)定,公民身份號碼是特征組合碼,由十七位數(shù)字本體碼和一位數(shù)字校驗碼組成。
排列順序從左至右依次為:六位數(shù)字地址碼,八位數(shù)字出生日期碼,三位數(shù)字順序碼和一位數(shù)字校驗碼。
地址碼(身份證前六位)表示編碼對象常住戶口所在縣(市、旗、區(qū))的行政區(qū)劃代碼。(所有區(qū)域的編碼可以到這個網(wǎng)站http:///tjbz/index.htm 查詢到最新的縣及縣以上的行政編碼資料。)
生日期碼(身份證第七位到第十四位)表示編碼對象出生的年、月、日,其中年份用四位數(shù)字表示,年、月、日之間不用分隔符。例如:1981年05月11日就用19810511表示。
順序碼(身份證第十五位到十七位)為同一地址碼所標(biāo)識的區(qū)域范圍內(nèi),對同年、月、日出生的人員編定的順序號。其中第十七位奇數(shù)分給男性,偶數(shù)分給女性。
校驗碼(身份證最后一位)是根據(jù)前面十七位數(shù)字碼,按照ISO 7064:1983.MOD 11-2校驗碼計算出來的檢驗碼。第十八位數(shù)字的計算方法為:
1.將前面的身份證號碼17位數(shù)分別乘以不同的系數(shù)。從第一位到第十七位的系數(shù)分別為: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
2.將這17位數(shù)字和系數(shù)相乘的結(jié)果相加。
3.用加出來和除以11,看余數(shù)是多少?
4余數(shù)只可能有0 1 2 3 4 5 6 7 8 9 10這11個數(shù)字。其分別對應(yīng)的最后一位身份證的號碼為1 0 X 9 8 7 6 5 4 3 2。
5.通過上面得知如果余數(shù)是2,就會在身份證的第18位數(shù)字上出現(xiàn)羅馬數(shù)字的Ⅹ。如果余數(shù)是10,身份證的最后一位號碼就是2。
例如:某男性的身份證號碼是***01X。我們要看看這個身份證是不是合法的身份證。首先:我們得出,前17位的乘積和是189 然后:用189除以11得出的結(jié)果是17 + 2/11,也就是說余數(shù)是2。最后:通過對應(yīng)規(guī)則就可以知道余數(shù)2對應(yīng)的數(shù)字是x。所以,這是一個合格的身份證號碼。例如:某男性的身份證號碼是***01X。我們要看看這個身份證是不是合法的身份證。首先:我們得出,前17位的乘積和是189 然后:用189除以11得出的結(jié)果是17 + 2/11,也就是說余數(shù)是
2。最后:通過對應(yīng)規(guī)則就可以知道余數(shù)2對應(yīng)的數(shù)字是x。所以,這是一個合格的身份證號碼。
第五篇:身份證號碼函數(shù)
用vlookup函數(shù),及其他各項功能,通過身份證號得出了出生日期、性別、戶籍所在地等多項信息,并加入了身份證號正確性驗證機制和15位、18位號碼的轉(zhuǎn)換功能。
詳細(xì)制作步驟
要想了解身份證的秘密,首先讓我們了解一下我國現(xiàn)行的公民身份證標(biāo)準(zhǔn)。1.我國現(xiàn)行使用公民身份證號碼有兩種標(biāo)準(zhǔn)。2.15位身份證號碼(六位數(shù)字地址碼,六位數(shù)字出生日期碼,三位數(shù)字順序碼)。
3.18位身份證號碼(六位數(shù)字地址碼,八位數(shù)字出生日期碼,三位數(shù)字順序碼和
一位數(shù)字校驗碼)。
4.5.地址碼表示編碼對象常住戶口所在縣(市、旗、區(qū))的行政區(qū)劃代碼。
6.日期碼表示編碼對象出生的年、月、日,其中年份用四位數(shù)字表示,年、月、日之間不用分隔符。
7.順序碼表示同一范圍內(nèi)對同年、月、日出生的人員編定的順序號。奇數(shù)分給男性,偶數(shù)分給女性。
8.校驗碼是根據(jù)前面十七位數(shù)字碼計算出來的檢驗碼。
復(fù)制代碼
了解了以上知識后,讓我們來制作Excel表。
1.新建一個Excel文檔,2.將Sheet1重命名為“身份證信息”,在第1行各列中依次輸入“身份證號碼、十五位身份證號碼、十八位身份證號碼、性別、出生日期、年齡、省份、市、區(qū)縣”等文字,并將“出生日期”列設(shè)置為日期(yyyy.mm.dd)格式,其余列
設(shè)置為文本格式。
3.將Sheet2重命名為“區(qū)域信息”,從國家統(tǒng)計局下載到最新縣及縣以上行政
區(qū)劃代碼,經(jīng)整理后分別導(dǎo)入到“區(qū)域信息”的A、B兩列中,以便查詢。
復(fù)制代碼
到此,Excel表框架搭建完成,我們來寫入函數(shù)完成查詢。
第一步 判斷號碼是否為正確的身份證號
一個正確的身份證號碼,要符合以下幾個標(biāo)準(zhǔn):
①應(yīng)為15位或18位;
②要包含數(shù)字(0-9)或字符(X);
③18位身份證號最后一位是真正的校驗碼。
如果上面三個條件都滿足,則是正確的身份證號。
我們利用Excel單元格的“有效性”限制來完成校驗。
具體方法是選擇“身份證信息”表,全選“身份證號碼”列,選擇“數(shù)據(jù)-有效性”菜單命令,在彈出的窗口“設(shè)置”標(biāo)簽中,將有效性條件的“允許”設(shè)置為“自定義”、“公式”
設(shè)置為
=
OR(LEN(A2)=15,IF(LEN(A2)=18,MID(“10X98765432”,MOD(SUM(MID(A2,ROW(INDIRECT(“1:17”)),1)*2^(18-ROW(INDIRECT(“1:17”)))),11)+1,1)=RIGHT(A2))),如圖一。
在“出錯警告”標(biāo)簽中,設(shè)置出錯提示信息,如圖二。
第二步 15位和18位身份證號碼的互換
具體方法是選擇“身份證信息”表,在B2單元格中輸入
=IF(LEN(A2)=15,A2,LEFT(REPLACE(A2,7,2,),15));
在C2單元格中輸入
{=IF(LEN(A3)=15,REPLACE(A3,7,19)&MID(“10X98765432”,MOD(SUM(MID(REPLACE(A3,7,19),ROW(INDIRECT(“1:17”)),1)*2^(18-ROW(INDIRECT(“1:17”)))),11)+1,1),A3)} 這里要注意是數(shù)組!
第三步 判斷性別
如果是15位的,則取最后一位;
如果是18位的號,則取倒數(shù)第二位;
最后判斷該數(shù)值的奇偶性即可。
具體方法是選擇“身份證信息”表,在D2單元格中輸入
=IF(A2<>“",IF(MOD(RIGHT(LEFT(A2,17)),2),”男“,”女“),)
第四步 判斷出生日期
如果是15位的,則取第7至12位,在年份數(shù)前加上“19”;
如果是18位的,則直接取第7至14位;
具體方法是選擇“身份證信息”表,在E2單元格中輸入
=IF(A2<>”“,TEXT((LEN(A2)=15)*19&MID(A2,7,6+(LEN(A2)=18)*2),”#-00-00“)+0,)
第五步 判斷年齡
這里利用一個Excel的隱藏函數(shù) DATEDIF()
基本語法: =DATEDIF(開始日期,結(jié)束日期,單位代碼),用“Y”來表示年份。具體方法是選擇“身份證信息”表,在F2單元格中輸入
=IF(A2<>”“,DATEDIF(TEXT((LEN(A2)=15)*19&MID(A2,7,6+(LEN(A2)=18)*2),”#-00-00“),TODAY(),”Y“),)
第六步 判斷籍貫,包括省份、市、區(qū)縣
這是本期比賽最難的一部分,關(guān)鍵在于如何多重判斷省份、市、區(qū)縣信息。
首先要知道地址碼的構(gòu)成。代碼前兩位是省或直轄市代碼,中間兩位是市代碼,最后兩位是區(qū)縣代碼。
其次是數(shù)據(jù)存放。“區(qū)域信息”表中已經(jīng)存放了查詢所需的數(shù)據(jù),將數(shù)據(jù)區(qū)命名為“Code”以便查詢。如圖三
最后利用VLOOKUP函數(shù)來查詢數(shù)據(jù)。
基本語法:=VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
具體方法是選擇“身份證信息”表,在G2單元格中輸入=IF(A2<>”“,VLOOKUP(LEFT(A2,2)&”0000“,code,2,),)
在G2單元格中輸入=IF(A2<>”“,VLOOKUP(LEFT(A2,4)&”00“,code,2,),)
在G2單元格中輸入=IF(A2<>”",VLOOKUP(LEFT(A2,6),code,2,),)
最后一步 根據(jù)需要拖拽
剛才所寫的公式只是在第2行寫入的,大家可以根據(jù)需要向下拖拽,具體方法略去。