정규 표현식
정규 표현식이란? (Regular Expressions)
: 문자열에 포함된 문자 조합을 찾기 위해 사용되는 패턴
특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어
문자열의 검색과 치환을 위한 용도로 사용됨.
장점
: 조건문을 매우 간단하게 표현 할 수 있다.
단점
: 코드가 간단한 만큼 가독성이 많이 떨어진다.
사용법
문자 |
설명 | 예시 |
^ |
입력값 시작 | ^x |
[^] | 괄호 안에 있는 문자를 제외한 문자가 나타남 | [^A-Z] |
[ ] | 괄호 안에 있는 문자 중 하나가 나타남 | [A-Za-z] |
$ | 입력값 끝 | x$ |
* | 앞의 문자들이 0번 이상 나타남 | a*b* |
. | 문자 하나가 나타남 | a.b |
+ | 앞에 있는 문자들이 1번 이상 나타남 | a+b+ |
( ) | 그룹 괄호 (가장 먼저 품) |
|
{m, n} | 앞의 문자들이 m번 이상, n번 이하 나타남 | a{1,3}b |
\ | 특수문자를 원래 의미로 돌려주는 문자 |
|
| | or과 유사한 의미. |로 분리된 문자중 하나가 나타남 | a(c|d|f)b |
? | 0번 or 1번 반복 |
|
자주 쓰이는 정규 표현식
자주 쓰이는 표현 |
정규 표현식 |
숫자만 가능(띄어쓰기 불가능) |
/^[0-9]+$/ |
이메일 형식만 가능 |
/^[a-z0-9\.\-_]+@([a-z0-9\-]+\.)+[a-z]{2,6}$/ |
한글만 가능 |
/^[가-힣]+$/ |
한글, 띄어쓰기만 가능 |
/^[가-힣\s]+$/ |
영문만 가능 |
/^[a-zA-Z]+$/ |
영문, 띄어쓰기만 가능 | /^[a-zA-Z\s]+$/ |
한글, 영문만 가능 | /^[가-힣a-zA-Z]+$/ |
숫자, 알파벳만 가능 | /^[a-zA-Z0-9]+$/ |
전화번호 형태 | /^[0-9]{2,3}-[0-9]{3,4}-[0-9]{4}$/ |
주민번호 -까지 | /^(?:[0-9]{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[1,2][0-9]|3[0,1]))-[1-4][0-9]{6}$/ |
도메인형태(http:// 상관없음) | /^(((http(s?))\:\/\/)?)([0-9a-zA-Z\-]+\.)+[a-zA-Z]{2,6}(\:[0-9]+)?(\/\S*)?$/ |
도메인형태(http://꼭 포함) | /^((http(s?))\:\/\9a-zA-Z\-]+\.)+[a-zA-Z]{2,6}(\:[0-9]+)?(\/\S*)?$/ |
한글 이름 2~4자 이내 | /^[가-힣]{2,4}$/ |
ID (4~20자리, 첫글자 숫자 X) | /^[A-Za-z]{1}[A-Za-z0-9]{3,19}$/ |
닉네임 (글자수만 제한 2~20) | /^[\w\Wㄱ-ㅎㅏ-ㅣ가-힣]{2,20}$/ |
비밀번호 (최소 8자리, 숫자,문자,특수문자 최소 1개) | /^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{8,}$/ |
비밀번호 ( 최소 8자리, 대문자 1,소문자 1, 숫자 1 | /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$/ |
비밀번호 ( 최소 8자리, | /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,}/ |
휴대폰/전화형식 | /(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/ |
'Language > Javascript' 카테고리의 다른 글
[JavaScript] Date 날짜 포맷 (0) | 2019.01.31 |
---|---|
[JavaScript] JavaScript 개념 (0) | 2019.01.02 |