본문 바로가기

Web/Java Script

자바 스크립트를 이용한 주민등록번호 검사기

 

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>주민등록번호 검사기</title>

 

        <script type="text/javascript">

                      

              

       

               function checkNum() {

                       var totalNum = 0;

                       var sumNum = 0;

                       arrNum = new Array(13);               //잘라낸 수의 원본

                       arrNum2 = new Array(12);      //잘라낸 수에 곱셈을 해준

                      

                      

                       var totalnum = document.frm1.pre_num.value + document.frm1.next_num.value

                      

                       for(var i = 0 ; i < 14 ; i++){

                              arrNum[i] = totalnum.charAt(i);

                       }

                      

                       //1900년대생과 2000년대생 구분

                       if(arrNum[6] == '1' || arrNum[6] == '2'){

                              document.frm1.sel_year.options[frm1.sel_year.selectedIndex].text =  "19" + arrNum[0] + arrNum[1];

                       }else{

                              document.frm1.sel_year.options[frm1.sel_year.selectedIndex].text =  "20" + arrNum[0] + arrNum[1];

                       }

                      

                       document.frm1.sel_month.options[frm1.sel_month.selectedIndex].text =  arrNum[2] + arrNum[3];

                       document.frm1.sel_day.options[frm1.sel_day.selectedIndex].text =  arrNum[4] + arrNum[5];

              

               arrNum2[0] = arrNum[0] * 2;

               arrNum2[1] = arrNum[1] * 3;

               arrNum2[2] = arrNum[2] * 4;

               arrNum2[3] = arrNum[3] * 5;

               arrNum2[4] = arrNum[4] * 6;

               arrNum2[5] = arrNum[5] * 7;

               arrNum2[6] = arrNum[6] * 8;

               arrNum2[7] = arrNum[7] * 9;

               arrNum2[8] = arrNum[8] * 2;

               arrNum2[9] = arrNum[9] * 3;

               arrNum2[10] = arrNum[10] * 4;

               arrNum2[11] = arrNum[11] * 5;

              

               for(var a = 0 ; a < 12 ; a++){

                       sumNum = sumNum + arrNum2[a];

               }

               sumNum = (11 - (sumNum % 11)) % 10;

              

               if(sumNum == arrNum[12]){

                       document.frm1.txt_result.value = "올바른 주민등록번호입니다."; 

               } else{

                       document.frm1.txt_result.value = "잘못된 주민등록번호입니다.";

               }

 

               }

              

        </script>

 

</head>

<body>

 

<form name="frm1">

        <input type="text" name="pre_num"  maxlength="6"  />

        -

        <input type="text" name="next_num"  maxlength="7" />

       

        <input type="button" value="검사" onclick="checkNum()"/> <br /><br />

       

       

        출생년도 :

        <script type="text/javascript">

        var date = new Date();

       

        document.write('<select name="sel_year">');

               for(var a = 1959 ; a <= date.getFullYear() ; a++){           //올해값을 받아서 최대 년도 구함

                       document.write('<option>' + a + '</option>');

               }

        document.write('</select>');

        </script>

        <br /><br />

       

        :

        <script type="text/javascript">

        document.write('<select name="sel_month">');

               for(var a = 0 ; a < 13 ; a++){

                       document.write('<option>' + a + '</option>');

               }

        document.write('</select>');

        </script>

        <br /><br />

       

        :

        <script type="text/javascript">

        document.write('<select name="sel_day">');

               for(var a = 1 ; a < 31 ; a++){

                       document.write('<option>' + a + '</option>');

               }

        document.write('</select>');

        </script>

        <br /><br />

       

        검사결과 : <input type="text" name="txt_result" size="30" />

       

       

</form>

 

 

</body>

</html>