인터넷정보

주민번호 체크및 포커스 자동이동 예제

알 수 없는 사용자 2007. 10. 18. 14:27
곰표  
<!----
별다른건 없고....
자동 포커스 이동할때는 onkeydown이나 onkeypress 가 아닌 onkeyUp이라는 이벤트핸들러를 쓴다는것만 기억하면.....
--->


<script>

//주민 번호 체크
function resnoCheck(no){ //13자리의 제대로 된 로직의 주민등록 번호 인가 체크

        if(no.length !=13)
                {
                alert(no.length + '자 의 주민등록번호네요. 주민번호는 총 13자리 입니다 ')
                document.f.resno1.focus();
                return false;
                }
        else
        {
        var a=Array(13)

                for(var i=0;i<13;i++)
                {
                a[i]=parseInt(no.charAt(i));
                }
        var sum=(a[0]*2)+(a[1]*3)+(a[2]*4)+(a[3]*5)+(a[4]*6)+(a[5]*7)+(a[6]*8)+(a[7]*9)+(a[8]*2)+(a[9]*3)+(a[10]*4)+(a[11]*5);
        var ssnave =11 - (sum % 11);
        if(ssnave == 11) ssnave = 1;
        else if(ssnave == 10) ssnave = 0;

        if(a[12]!=ssnave)
                {
                alert('잘못된 주민등록 번호입니다')
                document.f.resno1.focus();
                return false;
                }
        else return true;
        }


}// end of function


//submit 체크
function check()
{

var f = document.f;

        if(!f.nm.value) {

        alert('이름을 입력하세요');
        f.nm.focus();
        return false;
        }

var resno = f.resno1.value + "" + f.resno2.value;


        if(!resnoCheck(resno) ) return false;
       
        f.submit();
       
}


//곰표 주민 등록 번호 자동 포커싱 함수
function autoFocus(inputForm,limit,nextForm) // void , 인자값(입력중인 폼값,글자수,다음 이동할 폼)
{

        if(inputForm.value.length == limit )        nextForm.focus();


}
</script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
<form name=f onSubmit="return check()" action=resChk_ok.asp method=post>
<p align="center">실명확인 및 가입여부 검사</p>
<p align="center">이름 : <input type="text" name="nm" size="12"><br>
주민등록번호 :
<input type="text" name="resno1" maxlength="6" size="6" onKeyUp="autoFocus(document.f.resno1,6,document.f.resno2)"
onkeypress="if (event.keyCode < 45 || event.keyCode > 57) event.returnValue = false;" style='IME-MODE: inactive'>-
<input type="text" name="resno2" maxlength="7" size="7" onkeypress="if (event.keyCode < 45 || event.keyCode > 57 ) event.returnValue = false;"
style='IME-MODE: inactive'></p>

    <p align="center"><input type="submit" value="확인"></p>
</form>
</body>
반응형