728x90
반응형
<script type="text/javascript">
    function sendit() {
        var mName = document.getElementById("mName");
        var mJumin1 = document.getElementById("mJumin1");
        var mJumin2 = document.getElementById("mJumin2");
        var mJuminNumber = mJumin1.value + mJumin2.value;

        //주민번호 앞자리(mJumin1)에 공백을 제거하고도 아무 입력이 되지않았을 경우
        if(mJumin1.value.replace(/\s/g,"") == "")
        {
            alert("주민등록번호 앞자리를 입력해 주세요");
            mJumin1.focus();
            return false;
        }

        //주민번호 앞자리(mJumin1)가 6자리가 안 될 경우 
        if(mJumin1.value.length < 6)
        {
            alert("주민등록번호 앞자리를 정확히 입력해 주세요");
            mJumin1.focus();
            return false;
        }
    
        //주민번호 뒷자리(mJumin2)에 공백을 제거하고도 아무 입력이 되지않았을 경우 
        if(mJumin2.value.replace(/\s/g,"") == "")
        {
            alert("주민등록번호 뒷자리를 입력해 주세요");
            mJumin2.focus();
            return false;
        }
    
        //주민번호 뒷자리(mJumin2)가 7자리가 안 될 경우 
        if(mJumin2.value.length < 7)
        {
            alert("주민등록번호 뒷자리를 정확히 입력해 주세요");
            mJumin2.focus();
            return false;
        }

        //올바른 주민등록번호가 입력되는지 검사
      
var total = 0;
        var cnt = 2;
        for (var i = 0; i < mJuminNumber.length - 1; i++) {
            if (cnt > 9) {
                cnt = 2;
            }
            total += parseInt(mJuminNumber.charAt(i)) * cnt;

            cnt++;

        }

        var check = (11 - (total % 11)) % 10;

        if(parseInt(check) != parseInt(mJuminNumber.charAt(12)))
        {
            alert("잘못된 주민등록번호 입니다.");
            mJumin1.value = "";
            mJumin2.value = "";
            mJumin1.focus();
            return false;
         }
}
< /script>

var check = (11 - (total % 11)) % 10?
Ex) 901107 - 1111118
주민등록번호 확인은 맨 마지막 자릿수를 제외하고 (예제에서는 '8'을 제외하고)
첫 번째 자리부터 차례대로( 1 * 2, 0 * 3,1 * 4, 1 * 5, 0 * 6, 7 * 7, 1 * 8, 1 * 9, 1 * 2,  1 * 3, 1 * 4, 1 * 5 )곱하여
모두 더한 값( 2 + 0+ 4 + 5 + 0 + 49 + 8 + 9 + 2 + 3 + 4 + 5 )을 11로 나눈 나머지를
다시한번 11에서 마이너스 한 값이 마지막 자릿수와 같으면 올바른 주민번호라고 한다.
[100%는 아니다.  예외의 경우도 있다]
 <tr>
      <td><strong>이름</td>
      <td><input name="mName" type="text" id="mName" size="10" /></td>
      <td><strong>주민등록번호</td>
      <td><input name="mJumin1" type="text" id="mJumin1" maxlength="6"/> 
       - <input name="mJumin2" type="password" id="mJumin2" maxlength="7" />
      </td>
</tr>

버튼
<img src="button_ok.gif" alt="확인" onclick="javascript:sendit();"/>

 

728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,