728x90
# 밑에 써있는 원단위 표시는 역슬래시를 인식못해서 뜨는거다.
38이나 39로 시작을하고, 14 자리 숫자
let dinnerRegex = /^3[89]\d{12}$/;
3으로 시작하고,
뒤에 8이나 9가 오고,
d는 숫자라는 의미이다(digital? )
총 14자리인데 앞에 2자리 숫자 있으니까 14-2 해서 12
4로 시작하고 13,16,19자리의 숫자
let visaRegex = /^4(?:\d{12}|\d{15}|\d{18})$/;
맨앞에 4라는 한자리 숫자가 있으니까
13-1= 12
16-1=15
19-1=18
51부터 55까지로 시작하는 수이고, 16자리숫자
let masterRegex = /^5[1-5]\d{14}$/;
16-2=14
if문에서는 test나 match쓰면 된다.
if(dinnerRegex.test(cardNumber)){
return "Diner's Club";
}
else if(americanRegex.test(cardNumber)){
return "American Express";
}
else if(visaRegex.test(cardNumber)){
return "Visa";
}
else if(masterRegex.test(cardNumber)){
return "MasterCard";
}
else if(discoverRegex.test(cardNumber)){
if([16, 19].indexOf(cardNumber.length) > -1) return "Discover";
}
728x90
'부트캠프교육중 > JavaScript' 카테고리의 다른 글
[노마드코더] form태그에서 submit 사용시 preventDefault 사용이유 (0) | 2023.08.01 |
---|---|
Set (0) | 2023.07.30 |
JSON (0) | 2023.02.15 |
재귀함수 (0) | 2023.02.13 |
undefined와 null 차이 (0) | 2023.01.22 |