亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

php身份證驗證相關類

2024-09-04 11:44:02
字體:
來源:轉載
供稿:網友
  1. <?php  
  2. class IdcardAction extends Action{  
  3. // PHP根據身份證號,自動獲取對應的星座函數  
  4. function get_xingzuo($cid) { // 根據身份證號,自動返回對應的星座  
  5.     if (!$this->isIdCard($cid)) return '';  
  6.     $bir = substr($cid,10,4);  
  7.     $month = (int)substr($bir,0,2);  
  8.     $day = (int)substr($bir,2);  
  9.     $strValue = '';  
  10.     if (($month == 1 && $day >= 20) || ($month == 2 && $day <= 18)) {  
  11.         $strValue = "水瓶座";  
  12.     } else if (($month == 2 && $day >= 19) || ($month == 3 && $day <= 20)) {  
  13.         $strValue = "雙魚座";  
  14.     } else if (($month == 3 && $day > 20) || ($month == 4 && $day <= 19)) {  
  15.         $strValue = "白羊座";  
  16.     } else if (($month == 4 && $day >= 20) || ($month == 5 && $day <= 20)) {  
  17.         $strValue = "金牛座";  
  18.     } else if (($month == 5 && $day >= 21) || ($month == 6 && $day <= 21)) {  
  19.         $strValue = "雙子座";  
  20.     } else if (($month == 6 && $day > 21) || ($month == 7 && $day <= 22)) {  
  21.         $strValue = "巨蟹座";  
  22.     } else if (($month == 7 && $day > 22) || ($month == 8 && $day <= 22)) {  
  23.         $strValue = "獅子座";  
  24.     } else if (($month == 8 && $day >= 23) || ($month == 9 && $day <= 22)) {  
  25.         $strValue = "處女座";  
  26.     } else if (($month == 9 && $day >= 23) || ($month == 10 && $day <= 23)) {  
  27.         $strValue = "天秤座";  
  28.     } else if (($month == 10 && $day > 23) || ($month == 11 && $day <= 22)) {  
  29.         $strValue = "天蝎座";  
  30.     } else if (($month == 11 && $day > 22) || ($month == 12 && $day <= 21)) {  
  31.         $strValue = "射手座";  
  32.     } else if (($month == 12 && $day > 21) || ($month == 1 && $day <= 19)) {  
  33.         $strValue = "魔羯座";  
  34.     }  
  35.     return $strValue;  
  36.        
  37. }  
  38. function get_shengxiao($cid) { //根據身份證號,自動返回對應的生肖  
  39.     if (!$this->isIdCard($cid)) return '';  
  40.     $start = 1901;  
  41.     $end = $end = (int)substr($cid,6,4);  
  42.     $x = ($start - $end) % 12;  
  43.     $value = "";          
  44.     if ($x == 1 || $x == -11) {$value = "鼠";}  
  45.     if ($x == 0) { $value = "牛";}  
  46.     if ($x == 11 || $x == -1) {$value = "虎";}  
  47.     if ($x == 10 || $x == -2) {$value = "兔";}  
  48.     if ($x == 9 || $x == -3) {$value = "龍";}  
  49.     if ($x == 8 || $x == -4) {$value = "蛇";}  
  50.     if ($x == 7 || $x == -5) {$value = "馬";}  
  51.     if ($x == 6 || $x == -6) {$value = "羊";}  
  52.     if ($x == 5 || $x == -7) {$value = "猴";}  
  53.     if ($x == 4 || $x == -8) {$value = "雞";}  
  54.     if ($x == 3 || $x == -9) {$value = "狗";}  
  55.     if ($x == 2 || $x == -10) {$value = "豬";}  
  56.     return $value;  
  57. }  
  58. function get_xingbie($cid) { //根據身份證號,自動返回性別  
  59.     if (!$this->isIdCard($cid)) return '';  
  60.     $sexint = (int)substr($cid,16,1);  
  61.        
  62.     return $sexint % 2 === 0 ? '女' : '男';  
  63. }  
  64.    
  65. function checkbig18($idcard){//判斷是否成年  
  66.      $year = substr($idcard,6,4);  
  67.      $big18 = $year+18;  
  68.      $nowyear = date("Y",time());  
  69.      if($big18 <= $nowyear){  
  70.      return true;  
  71.      }else{  
  72.     return false;   
  73.          }  
  74.     }  
  75.        
  76. function getVerifyBit($idcard_base)  
  77.     {  
  78.         if(strlen($idcard_base) != 17)  
  79.         {  
  80.             return false;  
  81.         }  
  82.         //加權因子  
  83.         $factor = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);  
  84.         //校驗碼對應值  
  85.         $verify_number_list = array('1''0''X''9''8''7''6''5''4''3''2');  
  86.         $checksum = 0;  
  87.         for ($i = 0; $i < strlen($idcard_base); $i++)  
  88.         {  
  89.             $checksum += substr($idcard_base$i, 1) * $factor[$i];  
  90.         }  
  91.         $mod = $checksum % 11;  
  92.         $verify_number = $verify_number_list[$mod];  
  93.         return $verify_number;  
  94. }  
  95.    
  96. function idcard_verify_number($idcard_base){   
  97. if (strlen($idcard_base) != 17){ return false; }   
  98. // 加權因子   
  99. $factor = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);  
  100. // 校驗碼對應值   
  101. $verify_number_list = array('1''0''X''9''8''7''6''5''4''3''2');  
  102. $checksum = 0;  
  103. for ($i = 0; $i < strlen($idcard_base); $i++){   
  104. $checksum += substr($idcard_base$i, 1) * $factor[$i];   
  105. }  
  106.    
  107. $mod = $checksum % 11;   
  108. $verify_number = $verify_number_list[$mod];  
  109.    
  110. return $verify_number;   
  111. }  
  112.    
  113.    
  114.    
  115.    
  116. function idcard_15to18($idcard){//15到18轉換  
  117. if (strlen($idcard) != 15){   
  118. return false;   
  119. }else{   
  120. // 如果身份證順序碼是996 997 998 999,這些是為百歲以上老人的特殊編碼   
  121. if (array_search(substr($idcard, 12, 3), array('996''997''998''999')) !== false){   
  122. $idcard = substr($idcard, 0, 6) . '18'substr($idcard, 6, 9);   
  123. }else{   
  124. $idcard = substr($idcard, 0, 6) . '19'substr($idcard, 6, 9);   
  125. }   
  126. }  
  127.    
  128. $idcard = $idcard.$this->idcard_verify_number($idcard);  
  129. return $idcard;   
  130. }  
  131.    
  132.    
  133. function Check_Cardid($cardid)//判斷身份證大是否正確。  
  134. {  
  135.  $cardlen = strlen($cardid);  
  136.  if($cardlen ==15)  
  137.  {  
  138.   $pattern = "/^[0-9]{15}$/"//$pattern="/^d{15}$/";  
  139.   $num = preg_match($pattern,$cardid);  
  140.  }  
  141.  elseif($cardlen ==18)  
  142.  {  
  143.   $pattern = "/^d{17}[0-9xX]$/";  
  144.   $num=preg_match($pattern,$cardid);  
  145.  }  
  146.  else 
  147.  {  
  148.   return false;  
  149.  }  
  150.  return $num;  
  151. }  
  152.    
  153. function ChkGB2312($str){//判斷是否為中文  
  154. if(preg_match('/^[x7f-xff]+$/',$str)){  
  155.     return true;  
  156.     }else{  
  157.     return false;  
  158.     }  
  159. }  
  160.    
  161. function isIdCard($number) { // 檢查是否是身份證號  
  162.     // 轉化為大寫,如出現x  
  163.     $number = strtoupper($number);  
  164.     //加權因子   
  165.     $wi = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);  
  166.     //校驗碼串   
  167.     $ai = array('1''0''X''9''8''7''6''5''4''3''2');  
  168.     //按順序循環處理前17位   
  169.     $sigma = 0;  
  170.     for ($i = 0;$i < 17;$i++) {   
  171.         //提取前17位的其中一位,并將變量類型轉為實數   
  172.         $b = (int) $number{$i};   
  173.     
  174.         //提取相應的加權因子   
  175.         $w = $wi[$i];  
  176.     
  177.         //把從身份證號碼中提取的一位數字和加權因子相乘,并累加  
  178.         $sigma += $b * $w;   
  179.     }  
  180.     //計算序號   
  181.     $snumber = $sigma % 11;   
  182.     
  183.     //按照序號從校驗碼串中提取相應的字符。   
  184.     $check_number = $ai[$snumber];  
  185.     
  186.     if ($number{17} == $check_number) {  
  187.         return true;  
  188.     } else {  
  189.         return false;  
  190.     }  
  191. }  
  192. }  
  193. ?> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美精品在线| 国产日韩欧美在线| 亚洲欧美国产视频| 国产精品中文在线| 欧美精品久久久久久久免费观看| 欧美激情精品久久久久| 国产精品视频成人| 精品久久久久久久久久| 欧美性猛交xxxx免费看漫画| 欧美成人剧情片在线观看| 黄色成人在线免费| 久久久久久久久亚洲| 亚洲综合大片69999| 久久精品亚洲94久久精品| 欧美黑人巨大精品一区二区| 国产精品国内视频| 欧美日韩国产中字| 欧美国产亚洲精品久久久8v| 这里只有精品视频| 国产精品影院在线观看| 亚洲精品自产拍| 黑人与娇小精品av专区| 日韩精品中文字幕在线观看| 91久久国产综合久久91精品网站| 欧美在线视频免费| 亚洲欧美国产精品| 一区二区三欧美| 亚洲欧洲美洲在线综合| 国产区亚洲区欧美区| 国产精品揄拍一区二区| 亚洲精品国产suv| 美女视频久久黄| 亚洲第一区在线观看| 久久黄色av网站| 国产精品久久久久久久久久小说| 亚洲三级免费看| 日韩av电影免费观看高清| 国产精品久久久久久亚洲影视| x99av成人免费| 亚洲影院高清在线| 成人免费在线网址| 国产精品av免费在线观看| 亚洲天堂网站在线观看视频| 国产精品日日摸夜夜添夜夜av| 久久久久久国产精品美女| 亚洲激情电影中文字幕| 91精品视频在线播放| 色婷婷av一区二区三区在线观看| 欧美大片在线看| 欧美专区国产专区| 在线视频精品一| 日韩中文字幕视频| 国产精品嫩草影院久久久| 亚洲成人精品久久久| 欧美三级xxx| 欧美另类极品videosbestfree| 国产+成+人+亚洲欧洲| 亚洲欧洲第一视频| 日韩久久精品成人| 久久人91精品久久久久久不卡| 在线视频欧美性高潮| 国产精品国内视频| 久久影视电视剧免费网站| 超薄丝袜一区二区| 日韩视频在线一区| 亚洲女人天堂成人av在线| 欧美成人免费全部| 精品国产福利在线| 久久综合伊人77777| 精品动漫一区二区| 日韩免费在线播放| 精品国产福利在线| 国产精品一区=区| 欧美巨猛xxxx猛交黑人97人| 日本成人免费在线| 日本精品视频在线播放| 国产一区二区三区在线免费观看| 最好看的2019的中文字幕视频| 97视频在线观看成人| 国产午夜精品全部视频在线播放| 国产亚洲综合久久| 欧美激情中文字幕乱码免费| 日韩亚洲欧美中文在线| 亚洲天堂网在线观看| 久久精品国产欧美激情| 欧美精品手机在线| 国产成人精品日本亚洲| 欧美中文字幕在线播放| 黄色一区二区在线| 久久亚洲影音av资源网| 麻豆国产精品va在线观看不卡| 97视频在线免费观看| 日韩中文字幕网| 2020国产精品视频| 国产精品自拍偷拍视频| 国产一区红桃视频| 超碰精品一区二区三区乱码| 久久久久久这里只有精品| 中文字幕在线看视频国产欧美在线看完整| 亚洲国产日韩欧美在线动漫| 成人免费淫片aa视频免费| 精品日韩中文字幕| 久久理论片午夜琪琪电影网| 精品性高朝久久久久久久| 亚洲女成人图区| 欧美电影免费观看大全| 亚洲天堂av高清| 疯狂做受xxxx高潮欧美日本| 欧美黑人性生活视频| 日韩亚洲在线观看| 日韩电影免费观看在线观看| 国产精品国产自产拍高清av水多| 亚洲欧美中文字幕在线一区| 欧美日韩精品国产| 欧美成年人在线观看| 日韩有码片在线观看| 97国产精品视频人人做人人爱| 亚洲欧美综合区自拍另类| 欧亚精品在线观看| 久久成人免费视频| 欧美久久精品午夜青青大伊人| 伊人久久久久久久久久久| 日韩av在线直播| 国产日韩在线观看av| 欧美中文字幕第一页| 久久97久久97精品免视看| 永久555www成人免费| 久久免费高清视频| 91精品国产高清自在线| 91欧美精品午夜性色福利在线| 亚洲精品乱码久久久久久金桔影视| 亚洲最大的免费| 欧美激情精品久久久久久大尺度| 91香蕉嫩草神马影院在线观看| 国产美女精品视频| 国产成人自拍视频在线观看| 亚洲午夜国产成人av电影男同| 欧美黄色片视频| 亚洲美女av网站| 91po在线观看91精品国产性色| 精品国产一区久久久| 色偷偷噜噜噜亚洲男人的天堂| 色老头一区二区三区在线观看| 日本免费一区二区三区视频观看| 色综合男人天堂| 国产一区二区日韩精品欧美精品| 奇米一区二区三区四区久久| 在线观看亚洲区| 色综合天天综合网国产成人网| 日本aⅴ大伊香蕉精品视频| 国产精品成久久久久三级| 亚洲欧美日韩久久久久久| 亚洲xxxx做受欧美| 亚洲少妇中文在线| 亚洲电影中文字幕| 亚洲一区二区三区四区视频| 精品丝袜一区二区三区| 91免费精品国偷自产在线| 亚洲高清av在线| 亚洲天堂av在线播放| 久青草国产97香蕉在线视频| 欧美日韩人人澡狠狠躁视频| 97精品久久久中文字幕免费| 在线丨暗呦小u女国产精品|