본문 바로가기
IT/JavaScript

JavaScript 정규식

by 어느 개발자의 블로그 2020. 6. 15.
728x170

정규식 기본 표현

 *

0또는 그 이상 횟수로 매치 

 ?

0또는 1회 매치 

 +

1회 또는 그 이상 횟수로 매치 

 {m}

정확히 m회 매치 

 {m,}

최소한 m회 매치

 {m,n}

최소한 m회 최대 n회 매치 

 |

OR를 의미함 

 ^Auto

첫 번째 문자가 반드시 Auto로 시작함을 의미 

 Auto$

마지막 문자가 반드시 Auto로 끝남을 의미 

 

 \d [0-9]

 숫자

 \D [^0-9]

 숫자가 아닌것

 \s [\t\n\x0B\f\r]

 공백

 \S [^\s]

 공백이 아닌것

 \w [a-zA-Z_0-9]

 문자

 \W [^\w]

 문자가 아닌것

 ^

 시작부분

 $

 끝부분

 \b

 글자인 범위

 \B

 글자가 아닌것의 범위

  

 X?

 0 혹은 1

 X*

 0 이상

 X+

 1 이상

 X{n}

 n 개

 X{n,}

 n 이상

 X{n, m}

 n 이상 m 이하

 X|Y

 X or Y

 (X)

 묶음(그룹화)

 

 

많이 사용되는 정규식 정리

 숫자만 허용하는 정규식

 /[0-9]/;

 IP 입력 형식의 정규식

 /^(1|2)?\d?\d([.](1|2)?\d?\d){3}$/;

 E-Mail 입력 형식 정규식

 /^([0-9a-zA-Z_-]+)@([0-9a-zA-Z_-]+)(\.[0-9a-zA-Z_-]+){1,2}$/;

 핸드폰 번호 입력 형식 정규식

 /^01([0|1|6|7|8|9]?)-?([0-9]{3,4})-?([0-9]{4})$/;

 일반 전화번호 입력 형식 정규식

 /^\d{2,3}-\d{3,4}-\d{4}$/;

 URL 입력 형식 정규식

 /(?:(?:(https?|ftp|telnet):\/\/|[\s\t\r\n\[\]\`\<\>\"\'])((?:[\w$\-_\.+!*\'\(\),]|%[0-9a-f][0-9a-f])*\:(?:[\w$\-_\.+!*\'\(\),;\?&=]|%[0-9a-f][0-9a-f])+\@)?(?:((?:(?:[a-z0-9\-가-힣]+\.)+[a-z0-9\-]{2,})|(?:[\d]{1,3}\.){3}[\d]{1,3})|localhost)(?:\:([0-9]+))?((?:\/(?:[\w$\-_\.+!*\'\(\),;:@&=ㄱ-ㅎㅏ-ㅣ가-힣]|%[0-9a-f][0-9a-f])+)*)(?:\/([^\s\/\?\.:<>|#]*(?:\.[^\s\/\?:<>|#]+)*))?(\/?[\?;](?:[a-z0-9\-]+(?:=[^\s:&<>]*)?\&)*[a-z0-9\-]+(?:=[^\s:&<>]*)?)?(#[\w\-]+)?)/gmi;

 

사용 예)

1. replace()

str.replace(/[A]/gi, "");

 

2.RegExp()

if((new RegExp(/[0-9a-zA-Z]/gi)).test("Test String")){

 

}

반응형
그리드형

댓글