쓸만한 주저리

주민번호 검사 함수

봄돌73 2005. 12. 27. 21:47
function formCheck()
    {
        errfound = false;
        var str_cnum1 = write.cnum1.value;
        var str_cnum2 = write.cnum2.value;
        var checkImg='';


        var i3=0
        for (var i=0;i<str_cnum1.length;i++)
        {
            var ch1 = str_cnum1.substring(i,i+1);
            if (ch1<'0' || ch1>'9') { i3=i3+1 }
        }
        if ((str_cnum1 == '') || ( i3 != 0 ))
        {
            error(write.cnum1,'주민등록번호가 잘못되었습니다.\n\n다시입력해주세요!');
        }



        var i4=0
        for (var i=0;i<str_cnum2.length;i++)
        {
            var ch1 = str_cnum2.substring(i,i+1);
            if (ch1<'0' || ch1>'9') { i4=i4+1 }
        }
        if ((str_cnum2 == '') || ( i4 != 0 ))
        {
          error(write.cnum2,'주민등록번호가 잘못되었습니다.\n\n다시입력해주세요!');
        }

        if(str_cnum1.substring(0,1) < 4)
        {
            error(write.cnum2,'주민등록번호가 잘못되었습니다.\n\n다시입력해주세요!');
        }

        if(str_cnum2.substring(0,1) > 2)
        {
            error(write.cnum2,'주민등록번호가 잘못되었습니다.\n\n다시입력해주세요!');
        }

        if((str_cnum1.length > 7) || (str_cnum2.length > 8))
        {
            error(write.cnum2,'주민등록번호가 잘못되었습니다.\n\n다시입력해주세요!');
        }

        if ((str_cnum1 == '72') || ( str_cnum2 == '18'))
        {
          error(write.cnum1,'주민등록번호가 잘못되었습니다.\n\n다시입력해주세요!');
        }

        var f1=str_cnum1.substring(0,1)
        var f2=str_cnum1.substring(1,2)
        var f3=str_cnum1.substring(2,3)
        var f4=str_cnum1.substring(3,4)
        var f5=str_cnum1.substring(4,5)
        var f6=str_cnum1.substring(5,6)
        var hap=f1*2+f2*3+f3*4+f4*5+f5*6+f6*7
        var l1=str_cnum2.substring(0,1)
        var l2=str_cnum2.substring(1,2)
        var l3=str_cnum2.substring(2,3)
        var l4=str_cnum2.substring(3,4)
        var l5=str_cnum2.substring(4,5)
        var l6=str_cnum2.substring(5,6)
        var l7=str_cnum2.substring(6,7)
        hap=hap+l1*8+l2*9+l3*2+l4*3+l5*4+l6*5
        hap=hap%11
        hap=11-hap
        hap=hap%10
        if (hap != l7)
        {
          error(write.cnum1,'주민등록번호가 잘못되었습니다.\n\n다시입력해주세요!');
        }


        var i9=0

        if (!errfound)
            write.submit();
}

이것도 어디서 보고 옮긴 건지 기억이 안난다.