校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > PHP實現15位身份證號轉18位的方法分析

PHP實現15位身份證號轉18位的方法分析

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

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

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

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

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

  ①前1、2位數字表示:所在省份的代碼,河南的省份代碼是41哦!
  ②第3、4位數字表示:所在城市的代碼;
  ③第5、6位數字表示:所在區縣的代碼;
  ④第7~14位數字表示:出生年、月、日;
  ⑤第15、16位數字表示:所在地的派出所的代碼;
  ⑥第17位數字表示性別:奇數表示男性,偶數表示女性;
  ⑦第18位數字是校檢碼:也有的說是個人信息碼,一般是隨計算機隨機產生,用來檢驗身份證的正確性。校檢碼可以是0~9的數字,有時也用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位的年份是兩位數,18位的是4位數,留出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);
  //計算最后一位
  //前十七位乘以系數[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求余,的余數 0 - 10 
  $rod = $sum % 11;
  //所得余數映射到對應數字即可
  $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

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

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

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

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

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

巨人網絡通訊聲明:本文標題《PHP實現15位身份證號轉18位的方法分析》,本文關鍵詞  PHP,實現,15位,身份,證號,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP實現15位身份證號轉18位的方法分析》相關的同類信息!
  • 本頁收集關于PHP實現15位身份證號轉18位的方法分析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 丰顺县| 临海市| 汤原县| 金沙县| 连城县| 探索| 永嘉县| 南城县| 上杭县| 庆城县| 万荣县| 胶南市| 滨海县| 桃源县| 尤溪县| 南阳市| 九寨沟县| 博湖县| 宣武区| 灌阳县| 林州市| 子长县| 从化市| 抚远县| 宾川县| 安塞县| 七台河市| 盘锦市| 襄樊市| 南召县| 象州县| 通榆县| 蒲江县| 怀来县| 会昌县| 天等县| 舒城县| 霍林郭勒市| 遂平县| 永仁县| 望江县|