■ Front-End ■/JavaScript

[JavaScript] 학습정리 - 12.정규표현식과 RegExp

한길(One Way) 2023. 3. 1.

자바스크립트는 객체 기반 함수형 스크립트 언어이며 웹에서 중요한 위치를 차지하고 있다.

 

패턴을 형성하는 문자열 내에서 검색, 대체, 추출등을 할 때 사용하는 정규표현식에 대해서 알아보자. 정규표현식은 replace, match, search를 주로 사용하며 클라이언트 측에서 자바스크립트로 사용자 입력값을 검증할 때 사용하면 좋다.


regexp.exec(string)
exec 메서드는 정규 표현식을 사용하는 메서드들 중에서 느리지만 가장 강력하다.


regexp.test(string)
test 메서드는 정규 표현식을 사용하는 메서드들 중에서 가장 간단하고 빠르다.
 
특수문자 (+, *, |)
* 는 0번 이상 반복을 의미한다.
+ 는 한번 이상 나옴을 의미한다.
| 는 OR을 의미한다.
- 는 범위 지정 메타문자를 의미한다.

앞뒤로 나오는 /(슬래쉬)는 시작과 종료를 의미하며 /(슬래쉬) 사이에 오는 부분이 정규표현식이다.
종료를 나타내는 /(슬래쉬) 뒤에 오는 영문은 플래그이다.

 

/i : 알파벳 대소문자 구분을 무시
/g : 정규식 패턴에 일치하는 모든 문자열 반환
/gi : 알파벳 대소문자 구분 없이 정규식 패턴에 일치하는 모든 문자열 반환 

\d : 숫자를 의미
\D : 숫자가 아닌 모든 문자를 의미
\w : 영문자를 의미 ([A-Za-z_0-9]) 
\W : 영문자 이외의 모든 문자를 의미 ([^A-Za-z_0-9]) 


// 숫자
/^(\s|\d)+$/

// 영어 대소문자와 숫자 
/^[A-Za-z0-9+]*$/

// 사용자ID
/^[a-z0-9_]+$/
 
// 사용자ID나 비밀번호
/^[a-z0-9_]{4,20}$/
 
// 날짜 (mm-dd-yyyy, mm/dd/yyyy)
/\b\d{1,2}[\/-]\d{1,2}[\/-]\d{4}\b/
 
// 이메일
/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]+$/
 
// 이메일
/^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i;
 
// 전화번호
/^[0-9-+]+$/
/^\d{2,3}-\d{3,4}-\d{4}$/
 
// 핸드폰번호
/^\d{3}-\d{3,4}-\d{4}$/
/^01([0|1|6|7|8|9]?)-?([0-9]{3,4})-?([0-9]{4})$/ 

728x90

댓글