Skip to content

Commit bbb72fe

Browse files
committed
Implement credit card validator for Sprint 3 stretch coursework
1 parent 3372770 commit bbb72fe

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
function validateCreditCard(number) {
2+
if (number.length !== 16 || !/^\d+$/.test(number)) return false;
3+
const uniqueDigits = new Set(number);
4+
if (uniqueDigits.size < 2) return false;
5+
const lastDigit = parseInt(number[number.length - 1], 10);
6+
if (lastDigit % 2 !== 0) return false;
7+
const sum = number.split('').reduce((acc, digit) => acc + parseInt(digit, 10), 0);
8+
if (sum <= 16) return false;
9+
return true;
10+
}
11+
12+
console.log(validateCreditCard('9999777788880000')); // true
13+
console.log(validateCreditCard('4444444444444444')); // false
14+
console.log(validateCreditCard('6666666666666661')); // false

0 commit comments

Comments
 (0)