function valid_creditcard($cc, $extra_check = FALSE) { $cards = array('visa' => "(4\\d{12}(?:\\d{3})?)", 'amex' => "(3[47]\\d{13})", 'jcb' => "(35[2-8][89]\\d\\d\\d{10})", 'maestro' => "((?:5020|5038|6304|6579|6761)\\d{12}(?:\\d\\d)?)", 'solo' => "((?:6334|6767)\\d{12}(?:\\d\\d)?\\d?)", 'mastercard' => "(5[1-5]\\d{14})", 'switch' => "(?:(?:(?:4903|4905|4911|4936|6333|6759)\\d{12})|(?:(?:564182|633110)\\d{10})(\\d\\d)?\\d?)"); $names = array('Visa', 'American Express', 'JCB', 'Maestro', 'Solo', 'Mastercard', 'Switch'); $matches = array(); $pattern = "#^(?:" . implode("|", $cards) . ")\$#"; $result = preg_match($pattern, str_replace(' ', '', $cc), $matches); if ($extra_check && $result > 0) { $result = validatecard($cc) ? 1 : 0; } return $result > 0 ? $names[sizeof($matches) - 2] : FALSE; }
function check_cc($cc, $extra_check = false) { $cards = array("visa" => "(4\\d{12}(?:\\d{3})?)", "amex" => "(3[47]\\d{13})", "jcb" => "(35[2-8][89]\\d\\d\\d{10})", "maestro" => "((?:5020|5038|6304|6579|6761)\\d{12}(?:\\d\\d)?)", "solo" => "((?:6334|6767)\\d{12}(?:\\d\\d)?\\d?)", "mastercard" => "(5[1-5]\\d{14})", "switch" => "(?:(?:(?:4903|4905|4911|4936|6333|6759)\\d{12})|(?:(?:564182|633110)\\d{10})(\\d\\d)?\\d?)"); $names = array("VI", "AX", "JCB", "Maestro", "Solo", "MC", "Switch"); $matches = array(); $pattern = "#^(?:" . implode("|", $cards) . ")\$#"; $result = preg_match($pattern, str_replace(" ", "", $cc), $matches); if ($extra_check && $result > 0) { $result = validatecard($cc) ? 1 : 0; } return $result > 0 ? $names[sizeof($matches) - 2] : false; }
function check_cc($cc, $extra_check = false){ $cards = array( "visa" => "(4\d{12}(?:\d{3})?)", "amex" => "(3[47]\d{13})", "discover" => "(6(?:011|5[0-9]{2})[0-9]{12})", "jcb" => "((?:2131|1800|35\d{3})\d{11})", "maestro" => "((?:5020|5038|6304|6579|6761)\d{12}(?:\d\d)?)", "solo" => "((?:6334|6767)\d{12}(?:\d\d)?\d?)", "mastercard" => "(5[1-5]\d{14})", "switch" => "(?:(?:(?:4903|4905|4911|4936|6333|6759)\d{12})|(?:(?:564182|633110)\d{10})(\d\d)?\d?)", ); $names = array("Visa", "Amex","Discover", "JCB", "Maestro", "Solo", "MasterCard", "Switch"); $matches = array(); $pattern = "#^(?:".implode("|", $cards).")$#"; $result = preg_match($pattern, str_replace(" ", "", $cc), $matches); if($extra_check && $result > 0){ $result = (validatecard($cc))?1:0; } return ($result>0)?$names[sizeof($matches)-2]:false; }
public function checkCreditCard($cc, $extra_check = false) { $cards = array("visa" => "(4\\d{12}(?:\\d{3})?)", "amex" => "(3[47]\\d{13})", "maestro" => "((?:5020|5038|6304|6579|6761)\\d{12}(?:\\d\\d)?)", "mastercard" => "(5[1-5]\\d{14})"); $names = array("Visa", "American Express", "Maestro", "Mastercard"); $matches = array(); $pattern = "#^(?:" . implode("|", $cards) . ")\$#"; $result = preg_match($pattern, str_replace(" ", "", $cc), $matches); if ($extra_check && $result > 0) { $result = validatecard($cc) ? 1 : 0; } return $result > 0 ? $names[sizeof($matches) - 2] : 14; }