패턴을 형성하는 문자열 내에서 검색, 대체, 추출등을 할 때 사용하는 정규표현식에 대해서 알아보자. 정규표현식은 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})$/
'■ Front-End ■ > JavaScript' 카테고리의 다른 글
[JavaScript] 자바스크립트 for 웹 2.0 - 2부 핵심 (4장 ~ 8장) (0) | 2023.03.02 |
---|---|
[JavaScript] 자바스크립트 for 웹 2.0 - 1부 기초 (1장 ~ 3장) (0) | 2023.03.02 |
[JavaScript] 학습정리 - 11.Math와 Date객체 (0) | 2023.03.01 |
[JavaScript] 학습정리 - 10.String 객체 (0) | 2023.03.01 |
[JavaScript] 학습정리 - 9.Number 객체 (0) | 2023.03.01 |
댓글