본문 바로가기
Language/Javascript

[JavaScript] 정규표현식 정리

by IsBerry 2019. 1. 22.
반응형


정규 표현식

 

 



정규 표현식이란? (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자리,
 대문자 1, 소문자1, 숫자1, 특수문자1)

 /^(?=.*[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