본문 바로가기
Front

[Javascript] 주민등록번호 유효성 검사기 구현

by bkuk 2022. 9. 16.

주민등록번호 유효성 검사기 구현을 해보면 어떨까?

 

구현하기 앞서, 주민등록번호 유효성 검사에 대해서 알아보자.

 

예를 들어 본인의 주민등록번호가 "123456 - 1268789" 라고 가정하면 

주민등록번호 중 맨 마지막 번호를 제외하고 정해진 값들을 곱한다.

 

결과로 나온 값들을 모두 더한다.

 

 "11" 나누어 나머지를 구한다.

 

 "11" 뺴기를 한다.( 유효하지 않은 주민등록번호로 테스트를 했기에 결과 값이 -11이 됨.)

주민등록번호의 검증번호(맨 마지막 숫자)와 비교한다.


주민등록번호 유효성 검사기 구현

 

  1. prompt() 메소드를 이용해서 주민등록번호를 입력받고
  2. 입력받은 주민등록번호 중 맨 마지막 번호인 검증숫자(userData[13])와 위의 설명한 일련의 과정을 거친 결과 값을 비교하고
  3. 최종적으로 결과값이 서로 같다면 alert() 메소드를 통해 메시지를 출력
let userData = prompt("주민등록번호를 입력해주세요.", "123456-1268789");

if (userData[13] == Jumin(userData) ) {

        alert("검증 되었습니다.");

        } else {
        alert("검증 실패했습니다.");
}

검증 성공

 

검증 실패

 

소스코드

<script>

    let Jumin = function(inputData) {

        let replaceData = inputData.replace("-", "");

        let plusReplaceData = "";

        plusReplaceData +=  (Number((replaceData[0])) * 2) +
                            (Number((replaceData[1])) * 3) +
                            (Number((replaceData[2])) * 4) +
                            (Number((replaceData[3])) * 5) +
                            (Number((replaceData[4])) * 6) +
                            (Number((replaceData[5])) * 7) +
                            (Number((replaceData[6])) * 8) +
                            (Number((replaceData[7])) * 9) +
                            (Number((replaceData[8])) * 2) +
                            (Number((replaceData[9])) * 3) +
                            (Number((replaceData[10])) * 4) +
                            (Number((replaceData[11])) * 5);

       plusReplaceData = (11 - ( (plusReplaceData) % 11 ));

            return plusReplaceData;
       }

        let userData = prompt("주민등록번호를 입력해주세요.", "123456-1268789");

        if (userData[13] == Jumin(userData) ) {

                alert("검증 되었습니다.");

                } else {
                alert("검증 실패했습니다.");
        }     
</script>

댓글