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
- /[ㄱ-힣]/ : 한글을 검색한다.
'자바스크립트' 카테고리의 다른 글
자바스크립트 - Date 객체 (0) | 2023.12.15 |
---|---|
자바스크립트 - Array 배열 (1) | 2023.11.28 |
자바스크립트 - String 객체 (1) | 2023.11.25 |
자바스크립트 - Number 객체 (0) | 2023.11.24 |
자바스크립트 - 객체 for in 사용 (0) | 2023.11.23 |