濮阳杆衣贸易有限公司

主頁 > 知識庫 > PHP實現(xiàn)15位身份證號轉(zhuǎn)18位的方法分析

PHP實現(xiàn)15位身份證號轉(zhuǎn)18位的方法分析

熱門標(biāo)簽:太原極信防封電銷卡 格陵蘭島地圖標(biāo)注 南寧crm外呼系統(tǒng)平臺 熱線電話機器人 事業(yè)單位如何百度地圖標(biāo)注 天津營銷電話機器人加盟代理 電銷招聘機器人 福泉電話機器人 地圖標(biāo)注入哪個科目

本文實例講述了PHP實現(xiàn)15位身份證號轉(zhuǎn)18位的方法。分享給大家供大家參考,具體如下:

第一代身份證:15位身份證號碼的意義

1-2位省、自治區(qū)、直轄市代碼;
3-4位地級市、盟、自治州代碼;
5-6位縣、縣級市、區(qū)代碼;
7-12位出生年月日,比如670401代表1967年4月1日,這是和18位號碼的第一個區(qū)別;
13-15位為順序號,其中15位男為單數(shù),女為雙數(shù);
與18位身份證號的第二個區(qū)別:沒有最后一位的校驗碼。

第二代身份證:18位身份證號碼的意義

 ?、偾?、2位數(shù)字表示:所在省份的代碼,河南的省份代碼是41哦!
 ?、诘?、4位數(shù)字表示:所在城市的代碼;
 ?、鄣?、6位數(shù)字表示:所在區(qū)縣的代碼;
 ?、艿?~14位數(shù)字表示:出生年、月、日;
 ?、莸?5、16位數(shù)字表示:所在地的派出所的代碼;
 ?、薜?7位數(shù)字表示性別:奇數(shù)表示男性,偶數(shù)表示女性;
 ?、叩?8位數(shù)字是校檢碼:也有的說是個人信息碼,一般是隨計算機隨機產(chǎn)生,用來檢驗身份證的正確性。校檢碼可以是0~9的數(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位,補充為年份,年份最后兩位小于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);
  //計算最后一位
  //前十七位乘以系數(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];
  }
  //對11求余,的余數(shù) 0 - 10 
  $rod = $sum % 11;
  //所得余數(shù)映射到對應(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

另外,本站在線工具小程序上也有一款功能更加強大的身份證信息獲取工具,感興趣的朋友可以掃描如下小程序碼查看:

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)學(xué)運算技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計算法總結(jié)》及《php正則表達式用法總結(jié)》

希望本文所述對大家PHP程序設(shè)計有所幫助。

您可能感興趣的文章:
  • php驗證身份證號碼正確性的函數(shù)
  • php正則判斷是否為合法身份證號的方法
  • PHP 身份證號驗證函數(shù)
  • php根據(jù)身份證號碼計算年齡的實例代碼
  • php提取身份證號碼中的生日日期以及驗證是否為成年人的函數(shù)
  • PHP實現(xiàn)中國公民身份證號碼有效性驗證示例代碼
  • 使用php從身份證號中獲取一系列線索(星座、生肖、生日等)
  • PHP實現(xiàn)可精確驗證身份證號碼的工具類示例
  • php身份證號碼檢查類實例
  • PHP用身份證號獲取星座和生肖的方法
  • PHP校驗15位和18位身份證號的類封裝

標(biāo)簽:香港 通化 佳木斯 自貢 阿克蘇 郴州 寶雞 金華

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP實現(xiàn)15位身份證號轉(zhuǎn)18位的方法分析》,本文關(guān)鍵詞  PHP,實現(xiàn),15位,身份,證號,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP實現(xiàn)15位身份證號轉(zhuǎn)18位的方法分析》相關(guān)的同類信息!
  • 本頁收集關(guān)于PHP實現(xiàn)15位身份證號轉(zhuǎn)18位的方法分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    舞阳县| 苏尼特右旗| 车险| 深泽县| 建昌县| 玛纳斯县| 区。| 江门市| 舟山市| 包头市| 万州区| 漳州市| 繁峙县| 阜南县| 永仁县| 铅山县| 德昌县| 东城区| 昌平区| 凌源市| 西峡县| 始兴县| 乌兰察布市| 赣榆县| 高碑店市| 阿合奇县| 丰台区| 凯里市| 谢通门县| 巧家县| 威海市| 甘孜| 长顺县| 福鼎市| 冕宁县| 浙江省| 新和县| 台州市| 祁门县| 依兰县| 台安县|