본문 바로가기

IT/JavaScript

정규표현식 - 아이디 체크

 

1. 정규식 선언

 

var pattern= / / ;

 

위와 같이 표현 . 

 

2. 정규식 사용

 

pattern.test() ; 

 

참이면 true 거짓이면 false 반환 

 

test( )안에 비교할 값을 넣어주면 된다. 

 

 

3. 4~12 자리 영 (대,소) 숫자만 입력 받기

 

var pattern= /^[A-za-z0-9]{4,12}$/;

 

/^  -줄의 처음을 뜻함.

$/   - 줄의 끝을 뜻함.

 

즉 한줄의 처음부터 끝까지를 검색 

 

[a-z]영어 소문자 a~z까지

[A-Z]영어 대문자 A~Z까지

[0~9]숫자 0~9까지

[A-Za-z0-9]이므로 영어 대문자, 소문자, 숫자 전부를 의미

 

{4,12} 4~12 글자

{20} 이라고하면 그냥 20글자 ;

 

종합 , 영어 대, 소문자 + 숫자 4~12글자로 입력해야된다는 의미

 

 

4. 4~20자리 영(대, 소) , 숫자   // 첫글자는 숫자 사용불가

 

일반적으로 아이디 입력에 많이 사용하는 방식으로 첫글자는 무조건 영문을 사용하는 것을 원칙으로 한다. 

var pattern= /^[A-Za-z]{1}[A-Za-z0-9]{3,19}$/;

 

/^[A-Za-z]{1}     <-- 줄의 처음오는 {1}한글자는[A-Za-z]만 가능하고

[A-Za-z0-9]{3,19}$/   <-- [A-Za-z0-9]가 3~19자 ( 위에 첫글자 1자 포함 4~20자) 이어야 한다. 

 

추가로 [A-Za-z0-9_] 로 하면 _(언더바)도 입력가능.. 보통 아이디에는 _도 입력시켜준다. 

*[A-Za-z0-9_]  형식은 \w로도 가능 

-var pattern =/^ [A-Za-z0-9]{3,19}$/ ;

-var pattern =/^\w{3,19}$/ ;

 

위두개는 같은식이다.!

 

--아이디 체크--

 

<script type="text/javascript">

var idResult = document.querySelector('.idResult');

var allValid = 0;

var idValid , pwdValid, nickValid, emailValid;

var idValue = document.querySelector("[name='user_id']"); // name 속성값 찾기 

idValue.addEventListener("change",function(evt){ //change 기능은 입력이 새로 될때마다 자동으로 검사 

idValuenow = idValue.value;

idValid =(/^[A-Za-z]{1}\w{4,20}$/).test(idValuenow); //정규표현식 검사부분 

if(!idValid){

idResult.innerHTML="올바르지 않은 이메일 정보입니다.";

}else{

idResult.innerHTML=" ";

}

});

 

정규표현식 참고 사이트 http://www.nextree.co.kr/p4327/