글 작성자: 써니루루

자주 쓰긴하지만 참 자주 까먹고 사용할 때마다 찾아서 쓰게 되는 스크립트입니다 ㅎㅎ

function jumin_check()
{
     if (document.form1.TextBox6.value.length != 13)
     {   // 번호가 13개 아니라면
        alert("번호의 개수가 모자랍니다.");
        document.getElementById("TextBox6").focus(); //커서를 주민번호 앞자리에 놓는다.
      return false;
     }
     else
     {  
        var strjumin = document.getElementById("TextBox6").value;   //변수에 주민번호 앞자리 담음
       
     }
        var a1=strjumin.substring(0,1)   //주민번호 계산법
        var a2=strjumin.substring(1,2)         
        var a3=strjumin.substring(2,3)
        var a4=strjumin.substring(3,4)
        var a5=strjumin.substring(4,5)
        var a6=strjumin.substring(5,6)
        var checkdigit=a1*2+a2*3+a3*4+a4*5+a5*6+a6*7
        var b1=strjumin.substring(6,7)
        var b2=strjumin.substring(7,8)
        var b3=strjumin.substring(8,9)
        var b4=strjumin.substring(9,10)
        var b5=strjumin.substring(10,11)
        var b6=strjumin.substring(11,12)
        var b7=strjumin.substring(12,13)
        var checkdigit=checkdigit+b1*8+b2*9+b3*2+b4*3+b5*4+b6*5
        checkdigit = checkdigit%11
        checkdigit = 11 - checkdigit
        checkdigit = checkdigit%10
       
        if (checkdigit != b7)
        {  
           alert('잘못된 주민등록번호입니다.\n\n다시 확인하고 입력해 주세요.');
           document.getElementById("TextBox6").value="";
           document.getElementById("TextBox6").focus();  
           return false;
        }

      return true;
}

한번 이렇게 기억해두면 편하겠죠 ^ ^

참고로 코드는 ASP.NET에서 하던 코드라 약간 다르게 적용시켜야 할지 모르겠네요~

사용하실 땐

<form 테그안에 있는 onsubmit="" 이벤트 안에

onsubmit="return jumin_check()"

이런식으로 넣어주시면 처리됩니다. ^ ^