본문 바로가기
Web/JavaScript

[JavaScript] 정규 표현식으로 특정 패턴의 문자열 생성하기!

by coding-choonsik 2023. 4. 12.
728x90
반응형
SMALL

1. 정규 표현식(Regular Expression: Regex)

  • 문자열에서 특정 문자 조합을 찾기 위한 패턴

 

 📍정규 표현식을 사용하는 예 - 회원가입

    아이디: [           ]

    * 아이디는 4자리 이상, 16자리 이하
    * 영문 대문자 또는 소문자로 시작해야함

    이름: [            ]
    * 한글만 사용

    비밀번호: [            ]
    * 비밀번호는 4자리 이상 또는 15자리 이하
    * 대문자 1개이상, 소문자 1개이상, 숫자 1개이상, 특수문자 1개이상

2. 정규 표현식 생성

 

2-1.리터럴 표기

  • 다음과 같이 슬래시로 패턴을 감싸서 작성( /   ~   / )
const regex = /ab+c/

 

2-2. 생성자 호출

  • RegExp 객체의 생성자 호출
  • 바뀔 수 있는 패턴이나, 사용자 입력 등 외부 출처에서 가져오는 패턴의 경우 사용
const re = new RegExp('ab+c')

3. 정규표현식 패턴 작성

표현식 의미
^ 패턴의 시작
[ ] 안의 문자를 찾음
[x-z]  x~z 사이의 문자 하나를 찾음
[X-Z]  X~Z 사이의 문자 하나를 찾음
[0-9] 0~9 사이의 숫자 하나를 찾음
[가-힣] 가~힣 사이의 문자 하나를 찾음(한글)
x+  x가 1번이상 반복
x$ 문자열이 x로 끝남
^x 문자열이 x로 시작
\d 숫자
x{n} x를 n번 반복한 문자를 찾음
x{n,m} x를 n번 이상 m번 이하 반복한 문자를 찾음
$ 패턴을 끝냄
+ 수의 제한이 없음
 \- - 포함
\* * 포함
 ✅ 회원가입 예시

1. 아이디
    - 영문 대문자 또는 소문자로만, 길이는 4~20자까지 입력 가능
        /^[A-Za-z]{4,20}/

2. 이름
    - 한글만 사용
        /^[가-힣]+$/ 

3. 휴대폰 번호
    - 앞번호는 3글자, - , 중간번호는 3글자 또는 4글자, - ,마지막번호는 4글자
    - 010-111-1111 또는 010-1111-1111
    /^\d{3}-\d{3,4}-\d{4}$/

4. 이메일
    - 영문 대문자 또는 소문자 또는 숫자로 시작
    - 적절한 위치에 @포함, .포함
        /^[A-Za-z0-9\-\.]+@[A-Za-z0-9\-\.]+\.+[A-Za-z0-9\-\.]+$/

4. 자바스크립트 정규표현식 적용 함수

  • test(): 정규표현식에 대입한 문자열이 적합하면 true, 아니면 false를 리턴

MDN: 정규 표현식

https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Regular_expressions

 

정규 표현식 - JavaScript | MDN

정규 표현식, 또는 정규식은 문자열에서 특정 문자 조합을 찾기 위한 패턴입니다. JavaScript에서는 정규 표현식도 객체로서, RegExp의 exec()와 test() 메서드를 사용할 수 있습니다. String의 match(), matchA

developer.mozilla.org

 

 

728x90
반응형
LIST