본문 바로가기
Study/JavaScript

주민등록번호 체크 자바스크립트

by 아방 2007. 10. 25.
친구가 소스좀 구해달래서.. 찾아보다가 깔끔하게 잘 해놓은게 있어서  내 블로그에도 펌질

http://www.phplab.co.kr 에서 펌


<HTML>
<HEAD>
<TITLE>주민등록 번호 체크</TITLE>

<SCRIPT LANGUAGE="JavaScript">

function check_jumin() {
    var chk =0;
    var yy = document.jumin_num.jumin1.value.substring(0,2);
    var mm = document.jumin_num.jumin1.value.substring(2,4);
    var dd = document.jumin_num.jumin1.value.substring(4,6);
    var sex = document.jumin_num.jumin2.value.substring(0,1);

    // 주민등록번호를 자리수에 맞게 입력했는지 체크
    if (document.jumin_num.jumin2.value.split(" ").join("") == "") {
        alert ('주민등록번호를 입력하십시오.');
        document.jumin_num.jumin1.focus();
        return false;
    }
    if (document.jumin_num.jumin1.value.length!=6) {
        alert ('주민등록번호 앞자리를 입력하십시오');
        document.jumin_num.jumin1.focus();
        return false;
    }
    if (document.jumin_num.jumin2.value.length != 7 ) {
        alert ('주민등록번호 뒷자리를 입력하십시오.');
        document.jumin_num.jumin2.focus();
        return false;
    }
    if (isNaN(document.jumin_num.jumin1.value) || isNaN(document.jumin_num.jumin2.value)) {
        document.jumin_num.jumin1.value = ""
        document.jumin_num.jumin2.value = ""
        alert('주민등록번호는 숫자만 가능합니다.');
        return false;


    }
    if ((document.jumin_num.jumin1.value.length!=6)||(mm <1||mm>12||dd<1)){
//        document.jumin_num.jumin1.value = ""
        alert ('주민등록번호 앞자리가 잘못되었습니다.');
        document.jumin_num.jumin1.focus();
        return false;
    }
    if ((sex != 1 && sex !=2 )||(document.jumin_num.jumin2.value.length != 7 )){
//        document.jumin_num.jumin2.value = ""
        alert ('주민등록번호 뒷자리가 잘못되었습니다.');
        document.jumin_num.jumin2.focus();
        return false;
    }

    for (var i = 0; i <=5 ; i++) {
        chk = chk + ((i%8+2) * parseInt(document.jumin_num.jumin1.value.substring(i,i+1)))
    }
    for (var i = 6; i <=11 ; i++) {
        chk = chk + ((i%8+2) * parseInt(document.jumin_num.jumin2.value.substring(i-6,i-5)))
    }

    chk = 11 - (chk %11)
    chk = chk % 10

    if (chk != document.jumin_num.jumin2.value.substring(6,7)) {
//        document.jumin_num.jumin1.value = "";
//        document.jumin_num.jumin2.value = "";
        alert ('맞지 않는 주민등록번호입니다.');
        document.jumin_num.jumin1.focus();
        return false;
    }
 alert('주민등록번호 형식에 맞는 번호입니다. ^^;');
}
</SCRIPT>

</HEAD>

<BODY>
    <FORM NAME="jumin_num" METHOD="post">
        주민등록번호 :
        <INPUT TYPE="text" NAME="jumin1" MAXLENGTH="6" SIZE="6">
        -
        <INPUT TYPE="text" NAME="jumin2" MAXLENGTH="7" SIZE="7" onBlur="check_jumin()">
        <INPUT TYPE="submit" NAME="send" VALUE="입장하기">
        <INPUT TYPE="reset" NAME="reset" VALUE="다시쓰기">
    </FORM>

</BODY>
</HTML>


댓글