Language/JavaScript

JavaScript - 정규표현식

Jessi :D 2021. 7. 1. 16:41

자바스크립트 

정규표현식 RegExp

- exec(), test(), stringdms match(), replace(), search(), split()등과 함께 사용

표현식 의미
^ 문자열 시작
$ 문자열 종료
* 반복여부를 표현, 앞의 표현식이 0개 또는 0개이산 연속으로 반복되는 부분과 대응 앞의 문자가 없거나 0개이상(무한)인 경우
+ 존재여부를 표현, 앞의 표현식이 1회이상 연속으로 반복되는 부분과 대응 앞의 문자가 1개 이상인 경우
? 존재여부를 표현, 앞의 표현식이 0또한 1회 등장하는 부분과 대응
앞의 문자가 없어가 1개 있는 경우
. 임의의 한 문자 자리수를 표현, 개행문자를 제외한 모든 단일문자와 대응
| or
[xy] 괄호는 일련의 문자를 찾는데 사용
[xy] : x와 y중 하나
[^xy] : xy를 제외한 문자
[x-y] : x와 y사이의 문자
{n,m} 앞의 문자가 최소 n개, 최대 m개가 나타나는 경우
{3,4} : 전화번호 가운데 자리는 3자리에서 4자리를 입력
() 그룹을 표현, 소괄호 안의 문자를 하나의 문자로 인식
\s 공백문자를 의미 : space
\S 공백문자가 아님을 의미 : not space
\d 숫자 : [0-9]
\D 숫자를제외한 모든 문자 : [^0-9]
\w 알파벳이나 숫자
\W 알파벳이나 숫자를 제외한 문자
(?!) 앞부분에 (?!) 넣어주면 대소문자를 구분하지 않음

많이 사용하는 정규표현식

의미 표현식
숫자만 /^[0-9]*$/
영문자만 /^[a-zA-Z]*$/
한글만 /^[가-힣]*$/
영어&숫자만 /^[a-zA-Z0-9]*$/
아이디 /^[a-z0-9_-]{5,20}$/
비밀번호 /^[a-zA-Z0-9!@#$%^&*()?_~]{8,20}$/
전화번호 /^\d{2,3}-\d{3,4}-\d{4}$/
휴대폰 /^01(0|1|[6-9]?)-?([0-9]{3,4})-?([0-9]{4})$/
주민등록변호 /\d{6} \- [1-4]\d{6}/
E-mail /^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]*\.[a-zA-Z]{2,3}$/i

flag

flag 의미
g global : 대상 문자열내의 모든 패텬들을 검색하는것을 의미
i ignore case : 대소문자를 구분하지 않음
m multi line : 대상문자열이 다중라인의 문자열인 경우에도 검색하는 것을 의미

flag를 사용하지 않으면 문자열에 대해서 검색을 한번만 처리하고 종료

메소드

메소드 의미
test() 문자열에서 일치하는 항목을 검사하는메소드 true, false를 반환
search() 문자열이 있는지 검사하는 string 메소드
대응된 부분의 인덱스를 반환
대응되는 문자열을 찾지 못했다면 -1을 반환
replace() 문자열을 찾아 다른 문자열로 치횐하는 string 메소드

 

반응형