본문 바로가기
부트캠프교육중/JavaScript

정규표현식

by 뭉지야 2023. 3. 29.
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