정규식

2018. 4. 9. 16:30자바스크립트

이 포스팅은 자바스크립트 정규식(정규표현식)에 대해서 상세히 알려드릴려는게 아니라..


웹페이지 작성시 매번 찾게되는 아이디 체크 와 같은 스크립트를 포스팅 해봅니다.


 


 


기본적으로 자바스크립트에서 정규표현식은 / (슬래쉬)로 감싼다


"(큰따옴표) 또는 '(작은따옴표)로 감싸지 않는다.


 


그리고 마지막에 /g 또는 /i 또는 /gi 로 끝난다


왜 그런지 궁금하면 각자 찾아보는 걸로 한다~


 


아래에서 뜻하는 정규 표현식은 영문 a-z 로 시작하고 이후에 a-z0-9 사이 문자열이 오면 된다는 것이다.


대괄호 앞에 ^가 붙으면 시작을 뜻하고 대괄호 안에 ^가 붙으면 제외를 뜻한다.


^[a-z]로 되어 있으니 시작을 영문 a-z로 하는 것을 뜻한다


+ 연산자로 연결을 한다.


{5,19}는 5~19자리를 뜻한다.


 


앞에서 ^[a-z]에서 1자리를 먹었으니 이후에  [a-z0-9]{5,19} 5~19자리이니...


결국은 6~20 자리를 뜻한다.


 


$가 붙으면 끝을 뜻한다.


 [a-z0-9]{5,19}$ 이니.. 영문소문자 또는 숫자로 끝이 나면 된다.


 


        var idReg = /^[a-z]+[a-z0-9]{5,19}$/g;

        if( !idReg.test( $("input[name=uid]").val() ) ) {

            alert("아이디는 영문자로 시작하는 6~20자 영문자 또는 숫자이어야 합니다.");

            return;

        }


 


아래에는 예제들이다.


 


[영문 대문자 또는 소문자로 시작하는 아이디, 끝날때 영문 대문자 또는 소문자]


 var idReg = /^[A-za-z]$/g;


 


[영문 대문자 또는 소문자로 시작하는 아이디, 끝날때 제한 없음]


var idReg = /^[A-za-z]/g;


 


[영문 대문자 또는 소문자 또는 숫자로 시작하는 아이디, 끝날때 영문 대문자 또는 소문자 또는 숫자]


var idReg = /^[A-za-z0-9]$/g;


 


[영문 대문자 또는 소문자 또는 숫자로 시작하는 아이디, 끝날때 제한 없음]


var idReg = /^[A-za-z0-9]/g;


 


[영문 대문자 또는 소문자로 시작하는 아이디, 길이는 5~15자, 끝날때 영문 대문자 또는 소문자]


var idReg = /^[A-za-z]{5,15}$/g;


 


[영문 대문자 또는 소문자로 시작하는 아이디, 길이는 5~15자, 끝날때 제한 없음]


var idReg = /^[A-za-z]{5,15}/g;


 


[영문 대문자 또는 소문자 또는 숫자로 시작하는 아이디, 길이는 5~15자, 끝날때 영문 대문자 또는 소문자 또는 숫자]


var idReg = /^[A-za-z0-9]{5,15}$/g;


 


[영문 대문자 또는 소문자 또는 숫자로 시작하는 아이디, 길이는 5~15자, 끝날때 제한 없음]


var idReg = /^[A-za-z0-9]{5,15}/g;


 


더 많은 조합들이 있겠지만.. 매번 찾는 아이디 체크에 대해서 작성해 보았습니다.




출처: ikinox