本文實(shí)例講述了PHP實(shí)現(xiàn)15位身份證號(hào)轉(zhuǎn)18位的方法。分享給大家供大家參考,具體如下:
第一代身份證:15位身份證號(hào)碼的意義
1-2位省、自治區(qū)、直轄市代碼;
3-4位地級(jí)市、盟、自治州代碼;
5-6位縣、縣級(jí)市、區(qū)代碼;
7-12位出生年月日,比如670401代表1967年4月1日,這是和18位號(hào)碼的第一個(gè)區(qū)別;
13-15位為順序號(hào),其中15位男為單數(shù),女為雙數(shù);
與18位身份證號(hào)的第二個(gè)區(qū)別:沒有最后一位的校驗(yàn)碼。
第二代身份證:18位身份證號(hào)碼的意義
①前1、2位數(shù)字表示:所在省份的代碼,河南的省份代碼是41哦!
?、诘?、4位數(shù)字表示:所在城市的代碼;
?、鄣?、6位數(shù)字表示:所在區(qū)縣的代碼;
?、艿?~14位數(shù)字表示:出生年、月、日;
?、莸?5、16位數(shù)字表示:所在地的派出所的代碼;
?、薜?7位數(shù)字表示性別:奇數(shù)表示男性,偶數(shù)表示女性;
⑦第18位數(shù)字是校檢碼:也有的說是個(gè)人信息碼,一般是隨計(jì)算機(jī)隨機(jī)產(chǎn)生,用來檢驗(yàn)身份證的正確性。校檢碼可以是0~9的數(shù)字,有時(shí)也用x表示。
代碼示例:
?php function CardId15To18($card){ $len = strlen($card); if($len == 18){ return $card; }else if($len != 15){ return false; } $result = array(); for($i=0;$i$len;$i++){ if($i=5){ $result[$i] = intval($card[$i]); }else{ //15位的年份是兩位數(shù),18位的是4位數(shù),留出2位 $result[$i+2] = intval($card[$i]); } } //留出的2位,補(bǔ)充為年份,年份最后兩位小于17,年份為20XX,否則為19XX if(intval(substr($card,6,2)) = 17){ $result[6] = 2; $result[7] = 0; }else{ $result[6] = 1; $result[7] = 9; } ksort($result); //計(jì)算最后一位 //前十七位乘以系數(shù)[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2], $arrInt = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); $sum = 0; for($i=0;$i17;$i++){ $sum += $result[$i] * $arrInt[$i]; } //對(duì)11求余,的余數(shù) 0 - 10 $rod = $sum % 11; //所得余數(shù)映射到對(duì)應(yīng)數(shù)字即可 $arrCh = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'); $result[17] = $arrCh[$rod]; return implode('',$result); }
參考文章:https://www.jb51.net/article/172059.htm
PS:這里再為大家推薦一款相似的在線工具供大家參考:
身份證歸屬地信息在線查詢:
http://tools.jb51.net/bianmin/sfz
另外,本站在線工具小程序上也有一款功能更加強(qiáng)大的身份證信息獲取工具,感興趣的朋友可以掃描如下小程序碼查看:
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》及《php正則表達(dá)式用法總結(jié)》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
標(biāo)簽:香港 通化 佳木斯 自貢 阿克蘇 郴州 寶雞 金華
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP實(shí)現(xiàn)15位身份證號(hào)轉(zhuǎn)18位的方法分析》,本文關(guān)鍵詞 PHP,實(shí)現(xiàn),15位,身份,證號(hào),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。