관리 메뉴

투덜이 개발자

[JavaScript] 회원가입 정규식 유효성 검사 본문

Program Language/JavaScript & Jquery

[JavaScript] 회원가입 정규식 유효성 검사

엠투 2022. 2. 9. 13:05
반응형

매번 햇갈리는 정규식... 정리해봅니다.

기본적으로 자바스크립트에서 정규표현식은 / (슬래쉬)로 감싼다
"(큰따옴표) 또는 '(작은따옴표)로 감싸지 않는다.
그리고 마지막에 /g 또는 /i 또는 /gi 로 끝난다
   g : 발생할 모든 pattern에 대한 전역 검색
   i : 대/소문자 구분 안함

아래에서 뜻하는 정규 표현식은 영문 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;
var strValue = f.user_id.value;
console.log(strValue)
var idReg = /^[a-z]+[a-z0-9_-]{5,9}$/g;
if( !idReg.test(strValue) ) {
   alert("아이디는 영문자로 시작하는 6~10자 영문자 또는 숫자이어야 합니다.");
   return;
}
반응형