자바스크립트 정규식, 유효성 체크 | Client Side

정규식 만드는 법. 아무래도 정규식은 많이 쓰이죠..

아주 많이 그걸 이용한 Validation

별건 없고 아주 간단한거만..흠흠..

 

 

 

<script type="text/javascript">
function $(v){
    return document.getElementById(v);
}
function validate(){
    //alert("아아");
    //정규식
    /*
        만드는 방법
        1. /정규식표현/플래그; 2. new RegExp("표현식","플래그");
        특수문자
        ^ : 시작(검사할 문장의 시작을 나타내는 기호
        $ : 끝
        * : 0 or 이상
        + :1 이상
        ? : 0 or 1
       {n}: n개가 있어야 한다. {n,}: n개 이상 {n,m} :n~m개
       [a-z] : a부터 z까지 아무거나
       [^a-z] : a부커 z까지는 안된다.(대괄호 안에 ^는 not표시)
       \w : 글자를 나타냄 [a-zA-Z0-9] 같은뜻.
      
        검사하는 방법
        .test(검사할 문자열) 결과값이 리턴된다. (자주쓰인다)
    */
    var reg=/^[a-z]{4,12}$/; //시작도 A 끝도 A인것만 검사 (^A$이럴경우 AA는 안되고 A만 된다.)
    //var reg1=/^[가~힝]{2,15}$/;
    //유저 아이디에 영문 소문자 4~12자를 입력하도록 유효성 체크하고
    //실패했을 경우 alert으로 제대로 입력하는 메세지를 보여준다.     
    //alert(reg.test($("userid").value));
       
   
    if (!chk(/^[a-z][a-z0-9]{3,11}$/,"userid","소문자 4~12자를 입력해 주세요"))
        return false;
    if (!chk(/^[가-힝]{2,15}$/,"name","한글로 2~15글자를 입력하세요"))
        return false;
   

    /* 느낌표로 not도 가능하다.
    if (!reg.test($("userid").value) == false)
    {
        alert("소문자 4~12자를 입력해 주세요~!");
        $("userid").focus(); // 오류시 커서가 깜박인다.
        return false;
    }
    */
    return false;
   
}
function chk(reg,target,msg){
    if(reg.test($(target).value)) return true;
    alert(msg);
    $(target).value='';
    $(target).focus();
    return false;
}
</script>
</head>
<body>
<form action="" onsubmit="return validate();"> <!-- submit버튼 눌러을경우 이벤트 -->
    ID : <input type="text" id="userid"/> <br />
    이름 : <input type="text" id="name"/>
    <input type="submit" value="검사실행"/>
</form>

Comment Write
Comment List
등록된 코멘트가 없습니다.