n

자바스크립트에 약해서 질문드립니다 ㅜㅜ(주민번호 체크시)

회원 가입시 회원명과 주민번호 필드를 각각 하나씩 쓰게끔 되어있는것을
주민번호 필드를 두개를 주고 하나는 maxlength를 6 또 하나는 7로
필드 두개로 넘기려고 하는데요..
 
<input type="text" name=jumin1 itemname="주민등록번호" required jumin minlength="6" maxLength=6 style="width:60;height:18;border-width:1; border-color:rgb(204,204,204); border-style:solid;"> - <input type="password" name=jumin2 itemname="주민등록번호" required jumin minlength="7" maxLength=7 style="width:70;height:18;border-width:1; border-color:rgb(204,204,204); border-style:solid;">
 
요렇게 말이죠...
문제는 maxlength 값을 체크하는 자바스크립트 부분입니다 ;;
 
function wrestJumin(fld)
    {
       if (!wrestTrim(fld)) return;
       var pattern = /(^[0-9]{13}$)/;
       if (!pattern.test(fld.value))
       {
           if (wrestFld == null)
           {
               wrestMsg = wrestItemname(fld) + " : 주민등록번호를 13자리 숫자로 입력하십시오.\n";
               wrestFld = fld;
           }
       }
       else
       {
            var sum_1 = 0;
            var sum_2 = 0;
            var at=0;
            var juminno= fld.value;
            sum_1 = (juminno.charAt(0)*2)+
                    (juminno.charAt(1)*3)+
                    (juminno.charAt(2)*4)+
                    (juminno.charAt(3)*5)+
                    (juminno.charAt(4)*6)+
                    (juminno.charAt(5)*7)+
                    (juminno.charAt(6)*8)+
                    (juminno.charAt(7)*9)+
                    (juminno.charAt(8)*2)+
                    (juminno.charAt(9)*3)+
                    (juminno.charAt(10)*4)+
                    (juminno.charAt(11)*5);
            sum_2=sum_1 % 11;
            if (sum_2 == 0)
                at = 10;
            else
            {
                if (sum_2 == 1)
                    at = 11;
                else
                    at = sum_2;
            }
            att = 11 - at;
            // 1800 년대에 태어나신 분들은 남자, 여자의 구분이 9, 0 이라는
            // 얘기를 들은적이 있는데 그렇다면 아래의 구문은 오류이다.
            // 하지만... 100살넘은 분들이 주민등록번호를 과연 입력해볼까?
            if (juminno.charAt(12) != att ||
                juminno.substr(2,2) < '01' ||
                juminno.substr(2,2) > '12' ||
                juminno.substr(4,2) < '01' ||
                juminno.substr(4,2) > '31' ||
                juminno.charAt(6) > 4)
            {
               wrestMsg = wrestItemname(fld) + " : 올바른 주민등록번호가 아닙니다.\n";
               wrestFld = fld;
            }
        }
    }
-----------------------------------------------------------------------------------
저부분 때문에 alert 창으로 주민등록번호:13자리를 입력하여야 합니다.
라고 떠버리네요..
요걸 어떻게 바꿔야 할지 모르겠습니다..
 
|

댓글 5개

function wrestJumin1(fld) // 주민번호 앞자리

function wrestJumin2(fld) // 주민번호 뒷자리

펑션을 따로 분리해서 소스를 작성하셔야 되지 않을까요?
분리해야 겠다는건 알겠는데요 ㅡㅡ;;;
좀더 자세한답변을..;;; 자바스크립트에 많이 약해서
입력받을때 주민1과2로 받으시고 주민2의 입력이 끝나면 히든에

주민 필드에 값을 합쳐지게 해서 처리하시면 됩니다.
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
19년 전 조회 1,526
19년 전 조회 1,776
19년 전 조회 1,617
19년 전 조회 1,286
19년 전 조회 1,520
19년 전 조회 1,431
19년 전 조회 2,010
19년 전 조회 1,438
19년 전 조회 1,607
19년 전 조회 1,576
19년 전 조회 1,525
19년 전 조회 1,603
19년 전 조회 1,263
19년 전 조회 1,581
19년 전 조회 2,037
19년 전 조회 1,586
19년 전 조회 1,551
19년 전 조회 1,531
19년 전 조회 1,473
19년 전 조회 2,003