|
@@ -141,8 +141,17 @@ function card_type($cardno)
|
|
};
|
|
};
|
|
|
|
|
|
$ret = $checker($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'] == '中国联通') {
|
|
elseif($ret['catName'] == '中国联通') {
|
|
return ChinaUnicomCard;
|
|
return ChinaUnicomCard;
|