본문 바로가기

IT/Web

[Javascript] 자바스크립트 정규식




자바스크립트 정규식



정규식을 간단히 정의하면 문서에서 어떠한 패턴을 찾아 원하는대로 바꾸기 위한 일종의 수식이다.

 


 

정규식 기본 표현

 

 *

 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;

 


 

정규식이 주로 사용하는 곳이 회원가입,상담신청등에서 주민번호,연락처,이메일 정도

 


필자의 생각은 정규식은 네이버,구글 검색을해서 자신이 프로그램하는것에 따라 조금식 변경하면 사용이 편할거라 생각된다.