濮阳杆衣贸易有限公司

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

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

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

本文實(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ū)縣的代碼;
  ④第7~14位數(shù)字表示:出生年、月、日;
 ?、莸?5、16位數(shù)字表示:所在地的派出所的代碼;
 ?、薜?7位數(shù)字表示性別:奇數(shù)表示男性,偶數(shù)表示女性;
 ?、叩?8位數(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];
  }
  //對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

另外,本站在線工具小程序上也有一款功能更加強(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é)》

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

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

標(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)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP實(shí)現(xiàn)15位身份證號(hào)轉(zhuǎn)18位的方法分析》相關(guān)的同類信息!
  • 本頁收集關(guān)于PHP實(shí)現(xiàn)15位身份證號(hào)轉(zhuǎn)18位的方法分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    郧西县| 新田县| 庆元县| 徐水县| 洞头县| 双牌县| 南雄市| 濮阳县| 柳林县| 靖远县| 新乐市| 清新县| 石楼县| 南华县| 沧源| 舒城县| 苍梧县| 融水| 建昌县| 左贡县| 新河县| 五原县| 宜黄县| 江达县| 定州市| 上虞市| 襄樊市| 吴旗县| 遂宁市| 仁寿县| 临湘市| 浪卡子县| 宜宾县| 常德市| 南阳市| 莱芜市| 饶河县| 牡丹江市| 新乡县| 镇远县| 灵石县|