자바스크립트 - RegExp 객체

2023. 12. 16. 21:45자바스크립트

반응형

우리가 회원가입  화면을 만들다 보면 이메일 같은 형식의 데이터를 입력 받을때가 있다. 이메일은 "id@주소" 의 형식으로 작성을 해야한다. 사용자가 이러한 형식으로 작성을 했는지 문자 패턴을 비교할때 RegExp 객체를 사용한다,

 

RegExp 객체 메서드

- test()

문자열의 일치 여부에 따라 true 또는 false를 반환한다.

ex) var rexp = /wow/

rexp.test("wow 친구들 빡빡이 아저씨야"); // true

rexp.test("안녕 친구들 빡빡이 아저씨야"); // false

 

- exec(), match()

일치하는 문자열을 반환

ex) var rexp = /wow/

var str = "wow 친구들 빡빡이 아저씨야";

rexp.exec("wow 친구들 빡빡이 아저씨야"); // wow

str.match(rexp); // wow

 

- search()

일치하는 문자열의 시작 index를 반환

ex) var rexp = /wow/

var str = "012wow 친구들 빡빡이 아저씨야";

str.search(rexp); // 3

 

RegExp 객체 플래그

- i 플래그

대소문자 구분없이 문자열을 비교한다.

ex) var rexp = /wow/i

rexp.test("WOW 친구들 빡빡이 아저씨야"); // true

rexp.test("wow 친구들 빡빡이 아저씨야"); // true

 

- g플래그

문자열 전체를 비교한다.

ex) var rexp = /wow/g

var rexp2 = /wow/

var str = "wow  친구들 빡빡이 아저씨야 wow";

str.match(rexp); // wow, wow

str.match(rexp2); // wow

 

- m플래그

문자열이 \n으로 여러줄일때 여러줄을 전부 비교해준다.

밑에 예시에서 ^p는 문자가 p로 시작하는 것을 의미한다. 첫번째 줄에서는 wow how로 p로 시작하는게 없다. 두번째 줄에 p로 시작하는 pow가 있다.

ex) var str = "wow how \n pow";

var rexp1= /^p/

var rexp2 = /^p/m

str.match(rexp1)// null

str.match(rexp2)// p

 

RegExp 객체 패턴

- /wow/ : wow 문자열 검색

- /[wow]/ : wow 문자열 중 한 개의 문자를 검색

- /[^god]/ : g, o ,d 문자를 제외한 문자를 검색

- /[A-Z]/ : 알파벳 대문자 전체 문자를 검색

- /[a-z]/ : 알파벳 소문자 전체 문자를 검색

- /[0-9]/ : 숫자 0 ~ 9를 검색

- /g|o|d/ : g 또는 o 또는 d 문자를 검색

- /^y/ : y로 시작하는 문자를 검색

- /$t/ : t로 끝나는 문자를 검색

- /\w/ : 알파벳 대소문자, 숫자, _ 를 검색한다

- /\W/ : 알파벳 대소문자, 숫자, _ 를 제외하고 검색한다

- /d/ : 숫자를 검색한다.

- /D/ : 숫자를 제외하고 검색한다.

- /s/ : 공백 문자를 검색

- /S/ : 공백 문자를 제외하고 검색

- /qwer*/ : 여기 * 바로 앞에 있는 r은 없어도 되고 반복되도 된다. ex) qwe, qwer, qwerr, qwerrrrr

- /qwer?/ : 여기 ? 바로 앞에 있는 r은 없어도 되고 반복 문자는 포함하지 않는다. ex) qwe, qwer

- /qwer+/ : 여기 + 바로 앞에 있는 r은 꼭 있어야 되고 반복되도 된다. ex) qwer, qwerr, qwerrrrr

- /[ㄱ-힣]/ : 한글을 검색한다.

 

 

 

반응형