Skip to content

Commit f1a4499

Browse files
authored
Add Credit Card Validator with documentation (#1455)
1 parent 1e688c4 commit f1a4499

File tree

2 files changed

+51
-0
lines changed

2 files changed

+51
-0
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Credit Card Validator Regular Expression
2+
3+
This JavaScript module provides a regular expression for validating credit card numbers from major card providers such as Visa, MasterCard, American Express, Discover, Diners Club, and JCB. It ensures that the card number follows the correct structure and length for each provider.
4+
5+
## Features:
6+
7+
- Supports major credit card providers: Visa, MasterCard, American Express, Discover, Diners Club, and JCB.
8+
- Validates the structure, length, and format of the card numbers.
9+
- Simple and efficient to use for front-end or back-end applications.
10+
11+
## Usage:
12+
13+
```javascript
14+
const creditCardRegex = /^(?:4[0-9]{12}(?:[0-9]{3})?| // Visa
15+
5[1-5][0-9]{14}| // MasterCard
16+
3[47][0-9]{13}| // American Express
17+
6(?:011|5[0-9]{2})[0-9]{12}| // Discover
18+
3(?:0[0-5]|[68][0-9])[0-9]{11}| // Diners Club
19+
(?:2131|1800|35\d{3})\d{11})$/; // JCB
20+
21+
function validateCreditCard(cardNumber) {
22+
return creditCardRegex.test(cardNumber);
23+
}
24+
25+
// Example usage:
26+
console.log(validateCreditCard('4111111111111111')); // Visa, true
27+
console.log(validateCreditCard('5555555555554444')); // MasterCard, true
28+
console.log(validateCreditCard('378282246310005')); // American Express, true
29+
console.log(validateCreditCard('6011111111111117')); // Discover, true
30+
console.log(validateCreditCard('30569309025904')); // Diners Club, true
31+
console.log(validateCreditCard('3530111333300000')); // JCB, true
32+
console.log(validateCreditCard('1234567812345670')); // Invalid, false
33+
```
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// Credit Card Number Validator
2+
// This regex validates credit card formats from Visa, MasterCard, American Express, Discover, Diners Club, JCB, and more.
3+
4+
const creditCardRegex =
5+
/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|3[47][0-9]{13}|6(?:011|5[0-9]{2})[0-9]{12}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/;
6+
7+
function validateCreditCard(cardNumber) {
8+
return creditCardRegex.test(cardNumber);
9+
}
10+
11+
// Example usage:
12+
console.log(validateCreditCard("4111111111111111")); // Visa, true
13+
console.log(validateCreditCard("5555555555554444")); // MasterCard, true
14+
console.log(validateCreditCard("378282246310005")); // American Express, true
15+
console.log(validateCreditCard("6011111111111117")); // Discover, true
16+
console.log(validateCreditCard("30569309025904")); // Diners Club, true
17+
console.log(validateCreditCard("3530111333300000")); // JCB, true
18+
console.log(validateCreditCard("1234567812345670")); // Invalid, false

0 commit comments

Comments
 (0)