JSFiddle - React, Tailwind, and code Playground
HTML
<input type="text" id="js-cardnumber" />
JavaScript
$(function() {
var $cardNumber = $('#js-cardnumber');
var ccMap = {};
ccMap.cards = {
'amex': '^3[47][0-9]{13}$',
'discover': '^6(?:011|5[0-9]{2})[0-9]{12}$',
'mastercard': '^5[1-5][0-9]{14}$',
'visa': '^4[0-9]{12}(?:[0-9]{3})?$'
};
$cardNumber.keydown(function() {
for (var cardType in ccMap.cards) {
if (ccMap.cards.hasOwnProperty(cardType)) {
var regex = ccMap.cards[cardType];
if ( $(this).val().match(regex) ) {
console.log(cardType);
return;
}
}
}
});
});