자바스크립트
정규표현식 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}/ |
/^[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 메소드 |
반응형