Validate major credit card formats including Visa, MasterCard, American Express, Diners Club, and Discover.
^(?:4[0-9]12(?:[0-9]3)?|5[1-5][0-9]14|3[47][0-9]13|3[0-9]13|6(?:011|5[0-9]2)[0-9]12)$
4[0-9]{12}(?:[0-9]{3})?
5[1-5][0-9]{14}
3[47][0-9]{13}
3[0-9]{13}
6(?:011|5[0-9]{2})[0-9]{12}
// Credit card validation regex
const creditCardRegex = /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|3[47][0-9]{13}|3[0-9]{13}|6(?:011|5[0-9]{2})[0-9]{12})$/;
function validateCreditCard(cardNumber) {
// Remove spaces and dashes
const cleanNumber = cardNumber.replace(/[s-]/g, '');
return creditCardRegex.test(cleanNumber);
}
// Usage examples
console.log(validateCreditCard("4532123456789012")); // true (Visa)
console.log(validateCreditCard("5555 5555 5555 4444")); // true (MasterCard)
console.log(validateCreditCard("1234567890123456")); // false
"4532123456789012"
Visa card (16 digits)
"4532-1234-5678-9012"
Visa card with dashes
"5555555555554444"
MasterCard (16 digits)
"5555 5555 5555 4444"
MasterCard with spaces
"378282246310005"
American Express (15 digits)
"371449635398431"
American Express (15 digits)
"6011111111111117"
Discover card
"1234567890123456"
Invalid card number
"4532123456789"
Too short for Visa
Share this regex pattern with others or save it to your favorites