Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p><strong>PHP Code</strong></p> <pre><code>function validateCC($cc_num, $type) { if($type == "American") { $denum = "American Express"; } elseif($type == "Dinners") { $denum = "Diner's Club"; } elseif($type == "Discover") { $denum = "Discover"; } elseif($type == "Master") { $denum = "Master Card"; } elseif($type == "Visa") { $denum = "Visa"; } if($type == "American") { $pattern = "/^([34|37]{2})([0-9]{13})$/";//American Express if (preg_match($pattern,$cc_num)) { $verified = true; } else { $verified = false; } } elseif($type == "Dinners") { $pattern = "/^([30|36|38]{2})([0-9]{12})$/";//Diner's Club if (preg_match($pattern,$cc_num)) { $verified = true; } else { $verified = false; } } elseif($type == "Discover") { $pattern = "/^([6011]{4})([0-9]{12})$/";//Discover Card if (preg_match($pattern,$cc_num)) { $verified = true; } else { $verified = false; } } elseif($type == "Master") { $pattern = "/^([51|52|53|54|55]{2})([0-9]{14})$/";//Mastercard if (preg_match($pattern,$cc_num)) { $verified = true; } else { $verified = false; } } elseif($type == "Visa") { $pattern = "/^([4]{1})([0-9]{12,15})$/";//Visa if (preg_match($pattern,$cc_num)) { $verified = true; } else { $verified = false; } } if($verified == false) { //Do something here in case the validation fails echo "Credit card invalid. Please make sure that you entered a valid &lt;em&gt;" . $denum . "&lt;/em&gt; credit card "; } else { //if it will pass...do something echo "Your &lt;em&gt;" . $denum . "&lt;/em&gt; credit card is valid"; } } </code></pre> <p>Usage</p> <pre><code>echo validateCC("1738292928284637", "Dinners"); </code></pre> <p><strong>More theoric information can be found here:</strong></p> <p><a href="http://www.beachnet.com/~hstiles/cardtype.html" rel="nofollow noreferrer">Credit Card Validation - Check Digits</a></p> <p><a href="http://en.wikipedia.org/wiki/Luhn_algorithm" rel="nofollow noreferrer">Checksum</a></p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload