這篇文章將為大家詳細(xì)講解有關(guān)使用PHP怎么將15位身份證號(hào)轉(zhuǎn)為18位,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

第一代身份證: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ū)別:沒(méi)有最后一位的校驗(yàn)碼。
第二代身份證:18位身份證號(hào)碼的意義
①前1、2位數(shù)字表示:所在省份的代碼,河南的省份代碼是41哦!
②第3、4位數(shù)字表示:所在城市的代碼;
③第5、6位數(shù)字表示:所在區(qū)縣的代碼;
④第7~14位數(shù)字表示:出生年、月、日;
⑤第15、16位數(shù)字表示:所在地的派出所的代碼;
⑥第17位數(shù)字表示性別:奇數(shù)表示男性,偶數(shù)表示女性;
⑦第18位數(shù)字是校檢碼:也有的說(shuō)是個(gè)人信息碼,一般是隨計(jì)算機(jī)隨機(jī)產(chǎn)生,用來(lái)檢驗(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;$i<17;$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);
}關(guān)于使用PHP怎么將15位身份證號(hào)轉(zhuǎn)為18位就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
當(dāng)前文章:使用PHP怎么將15位身份證號(hào)轉(zhuǎn)為18位-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://chinadenli.net/article12/cospdc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、品牌網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)站改版、企業(yè)建站、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容