Credit Card Validation

Validate major credit card formats including Visa, MasterCard, American Express, Diners Club, and Discover.

AdvancedFinance
Regular Expression Pattern
^(?: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)$

Supported Card Types:

Visa
Starts with 4, 13 or 16 digits
4[0-9]{12}(?:[0-9]{3})?
MasterCard
Starts with 51-55, 16 digits
5[1-5][0-9]{14}
American Express
Starts with 34 or 37, 15 digits
3[47][0-9]{13}
Diners Club
Starts with 3, 14 digits
3[0-9]{13}
Discover
Starts with 6011 or 65, 16 digits
6(?:011|5[0-9]{2})[0-9]{12}
Live Credit Card Tester
Implementation Examples
// 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
Test Cases
"4532123456789012"

Visa card (16 digits)

Valid
"4532-1234-5678-9012"

Visa card with dashes

Valid
"5555555555554444"

MasterCard (16 digits)

Valid
"5555 5555 5555 4444"

MasterCard with spaces

Valid
"378282246310005"

American Express (15 digits)

Valid
"371449635398431"

American Express (15 digits)

Valid
"6011111111111117"

Discover card

Valid
"1234567890123456"

Invalid card number

Invalid
"4532123456789"

Too short for Visa

Invalid

Share & Save

Share this regex pattern with others or save it to your favorites