n

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

· 2006-06-15 (목) 15:45:22 · 1649 · 5
회원 가입시 회원명과 주민번호 필드를 각각 하나씩 쓰게끔 되어있는것을
주민번호 필드를 두개를 주고 하나는 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) // 주민번호 뒷자리

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

주민 필드에 값을 합쳐지게 해서 처리하시면 됩니다.
ㅋㅋ..
2006-06-16 (금) 14:28:56
????
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

66,531건

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

+
제목 글쓴이 날짜 조회
06-06-16 조회 1,514
06-06-15 조회 2,082
06-06-15 조회 1,507
06-06-15 조회 1,684
06-06-15 조회 1,650
06-06-15 조회 1,598
06-06-15 조회 1,670
06-06-15 조회 1,337
06-06-15 조회 1,654
06-06-15 조회 2,108
06-06-15 조회 1,659
06-06-15 조회 1,621
06-06-14 조회 1,606
06-06-14 조회 1,546
06-06-14 조회 2,071
06-06-14 조회 1,590
06-06-14 조회 1,587
06-06-14 조회 1,355
06-06-14 조회 1,621
06-06-14 조회 1,261