정규표현식

2024. 5. 23. 11:34JavaScript

정규표현식(Regular Expression, RegExp)

 

- 정규표현식(또는 정규식)
특정한 규칙을 가진 문자열 집합을 표현하는 데 사용하는 형식 언어
- 입력된 문자열에 대한 특정 조건 검색, 일치여부 판단, 조건문을 간단히 처리할 수 있음

 

정규표현식 생성 방법
1. const regExp = /^정규표현식$/;
    /^ : 정규표현식 시작
    $/ : 정규표현식 종료
2. const regExp = new RegExp("정규표현식");

 

문자열 패턴 확인
1. regExp.test(문자열)
    - 문자열에 정규표현식과 일치하는 패턴이 있을 경우 true, 없으면 false 반환
2. regExp.exec(문자열)
- 문자열에 정규표현식과 일치하는 패턴이 있을 경우 처음 매칭되는 문자열 반환. 없으면 null 반환

 

 

정규표현식 문자 매칭 방법

 

[] : 대괄호 안의 어떤 문자와 일치하는가

    /^[a,b,c,d]$/ : a,b,c,d 중 하나라도 일치하는 문자가 있는지 검색

    - [0-9] : 0 ~ 9 모든 숫자
    - [ㄱ-힣] : ㄱ부터 힣까지 모든 한글
    - [가-힣] : '가'부터 '힣'까지 모든 한글 (ㄱ-ㅎ ㅏ-ㅣ 제외)
    - [a-z] : 모든 소문자 영어
    - [A-Z] : 모든 대문자 영어

[^] : 대괄호 안의 문자와 일치하지않음
    [^abcd] : a,b,c,d 중에 하나라도 일치하는 문자가 없어야 함 -> 제외

[A-Z]{5} : A-Z 사이의 5자리 입력
[A-Z]{2,5} : A-Z 사이의 2~5자리 입력
[A-Z]{2,} : A-Z 사이의 2자리 이상 입력

() : 그룹을 형성하고 일치하는 부분 문자열을 기억
    (19|20) : 19나 20과 일치하는가 

\d : 0 ~ 9 중 아무 숫자
\s : 띄어쓰기, 엔터, 탭 등 아무 공백 문자

 

ex)

const 생년월일정규식 = /^(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])$/;

 

(19|20) : 19 또는 20으로 시작한느 부분을 매칭.  => 1900년대 또는 2000년대
(0[1-9]|1[0-2]) : 01 ~ 09 또는 10 ~ 12 -> 월
(0[1-9]|[1-2][0-9]|3[0-1]) : 01~09 또는 10 ~ 29 또는 30 ~ 31 -> 일
/^(19|20)\d{6}$/ -> 1900~2000년개 이후 6자리 작성
/^\d{8}$/ -> 생년월일 '-' 뺴고 8자리 입력

 

 

'JavaScript' 카테고리의 다른 글

자바스크립트 정리  (0) 2024.05.28
Window 내장 객체  (0) 2024.05.27
JS 실습 - 클릭한 숫자 기록하기  (0) 2024.05.22
for문 in, of  (0) 2024.05.22
JS 실습 - 유효성검사  (0) 2024.05.22