Skip to content

Instantly share code, notes, and snippets.

@jhurliman
Last active December 11, 2015 08:58
Show Gist options
  • Save jhurliman/4576189 to your computer and use it in GitHub Desktop.
Save jhurliman/4576189 to your computer and use it in GitHub Desktop.
Detect credit card type based on the number
function getCCType(ccnumber) {
var visaRE = /^4[0-9]{12}(?:[0-9]{3})?$/;
var mastercardRE = /^5[1-5][0-9]{14}$/;
var amexRE = /^3[47][0-9]{13}$/;
var discoverRE = /^6(?:011|5[0-9]{2})[0-9]{12}$/;
var dinersclubRE = /^3(?:0[0-5]|[68][0-9])[0-9]{11}$/;
var jcbRE = /^(?:2131|1800|35\d{3})\d{11}$/;
ccnumber = (ccnumber || '').replace(/[ -]/g, '');
if (ccnumber.match(visaRE)) return 'visa';
if (ccnumber.match(mastercardRE)) return 'mastercard';
if (ccnumber.match(amexRE)) return 'americanexpress';
if (ccnumber.match(discoverRE)) return 'discover';
if (ccnumber.match(dinersclubRE)) return 'dinersclub';
if (ccnumber.match(jcbRE)) return 'jcb';
return 'unknown';
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment