File tree Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Original file line number Diff line number Diff line change 1+ function validateCreditCard ( cardNumber )
2+ {
3+ let sum = 0 ;
4+ let allSame = "" ;
5+ cardNumber = String ( cardNumber ) ;
6+
7+ if ( cardNumber . length != 16 )
8+ return false ;
9+
10+ if ( ( cardNumber . slice ( - 1 ) % 2 ) != 0 )
11+ return false ;
12+
13+ for ( let i = 0 ; i < cardNumber . length ; i ++ ) {
14+ sum += Number ( cardNumber [ i ] ) ;
15+ if ( cardNumber [ i ] < "0" || cardNumber [ i ] > "9" ) {
16+ return false ;
17+ }
18+ }
19+
20+ for ( let i = 0 ; i < cardNumber . length ; i ++ ) {
21+ if ( "0123456789" . includes ( cardNumber [ i ] ) && ! String ( allSame ) . includes ( cardNumber [ i ] ) ) {
22+ allSame += cardNumber [ i ] ;
23+ }
24+ }
25+ if ( allSame . length < 2 ) {
26+ return false ;
27+ }
28+
29+ if ( sum < 16 )
30+ return false ;
31+
32+ return true ;
33+ }
34+
35+ console . log ( validateCreditCard ( "9999777788880000" ) ) ; // true
36+ console . log ( validateCreditCard ( "6666666666661666" ) ) ; // true
37+ console . log ( validateCreditCard ( "a92332119c011112" ) ) ; // false
38+ console . log ( validateCreditCard ( "4444444444444444" ) ) ; // false
39+ console . log ( validateCreditCard ( "1111111111111110" ) ) ; // false
40+ console . log ( validateCreditCard ( "6666666666666661" ) ) ; // false
You can’t perform that action at this time.
0 commit comments