부트캠프교육중/JavaScript
정규표현식
뭉지야
2023. 3. 29. 19:56
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