浏览代码

modify carno error

stanley-king 4 年之前
父节点
当前提交
378c3b641e
共有 1 个文件被更改,包括 11 次插入2 次删除
  1. 11 2
      helper/mtopcard/mtopcard.php

+ 11 - 2
helper/mtopcard/mtopcard.php

@@ -141,8 +141,17 @@ function card_type($cardno)
         };
 
         $ret = $checker($cardno);
-        if(empty($ret)) {
-            return UnknownCard;
+        if (empty($ret))
+        {
+            if (preg_match('/^134[0-8]\d{7}$|^(?:13[5-9]|147|15[0-27-9]|17[28]|18[2-478]|19[578])\d{8}$/', $cardno, $matches)) {
+                return ChinaMobileCard;
+            } elseif (preg_match('/^(?:13[0-2]|145|15[56]|166|17[156]|18[56]|196)\d{8}$/', $cardno, $matches)) {
+                return ChinaUnicomCard;
+            } elseif (preg_match('/^(?:133|149|153|177|173|18[019]|19[0139])\d{8}$/', $cardno, $matches)) {
+                return ChinaTelecomCard;
+            } else {
+                return UnknownCard;
+            }
         }
         elseif($ret['catName'] == '中国联通') {
             return ChinaUnicomCard;