检查卡是VISA还是VISAElectron

这个问题在这里已经有了答案:

  • 如何根据数字检测信用卡类型? 26个答案

  • 你找到的数组包含正则表达式。

    你可以遍历这个数组,并检查提供的值是否与正则表达式中的一个相匹配,如果是,你就知道他们使用了什么类型的卡。

    像这样的东西:

    $cards = array(
        "visa" => "(4d{12}(?:d{3})?)",
        "amex" => "(3[47]d{13})",
        "jcb" => "(35[2-8][89]ddd{10})",
        "maestro" => "((?:5020|5038|6304|6579|6761)d{12}(?:dd)?)",
        "solo" => "((?:6334|6767)d{12}(?:dd)?d?)",
        "mastercard" => "(5[1-5]d{14})",
        "switch" => "(?:(?:(?:4903|4905|4911|4936|6333|6759)d{12})|(?:(?:564182|633110)d{10})(dd)?d?)",
    );
    
    $card_number = '4242424242424242'; // some made up card number
    
    $card_type = 'unknown';
    
    foreach ($cards as $card => $pattern) {
        if (preg_match('/' . $pattern . '/', $card_number)) {
            $card_type = $card;
            break;
        }
    }
    
    echo $card_type;
    

    [编辑]现在关于您的'visaelectron'匹配的新要求。

    签证通常以49,44或47签证电子开始:42,45,48,49

    所以你需要根据这些规则创建一个正则表达式并将其添加到你的数组中

    链接地址: http://www.djcxy.com/p/70703.html

    上一篇: Check if card is VISA or VISAElectron

    下一篇: Regex for determining credit cards in Android