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