본문 바로가기
프로그래밍/자바스크립트

14 주민등록번호 유효성 체크 프로그램을 만들어 보자

by 윤지(●'◡'●) 2021. 7. 4.
반응형


주민등록번호 유효성 체크 프로그램을 만들어 보자

 

 

일단, 주민등록번호 유효성 체크하는 방법을 알아보자 

 

1. 각자리에 2,3,4,5,6,7,8,9,2,3,4,5를 곱한다. (단 마지막 자리는 빼놓음)

2. 각 자리의 숫자를 모두 더한다.

3. 11로 나눈 나머지 값을 구함

4. 11에서 결과값을 뺌(단, 마지막 결과가 두자리인 경우 다시 10으로 나눈 나머지 값을 구함)
두자리 예 ) 11 - 1 = 10 -> 10 % 10 = 0

5. 결과가 주민등록번호 마지막 자리와 일치하면 유효한 주민등록번호이다.

 

 

[풀이]

<body>
    <h2>주민등록번호 유효성 검사📑</h2>
    <h4>* '-'을 제외하고 입력해주세요.</h4>
    <form name = 'myform'>
        <input type="text" name="juminNum">
        <input type="button" value="확인" onclick="juminCheck()">
        // 버튼이 클릭되면 juminCheck() 함수 실행
    </form>
    <div id="result"></div> //결과값을 담을 공간
    <script>
        'use strict';
        function juminCheck() { // 주민등록번호 유효성검사 메소드
            let frm = document.myform; // 폼 받아오기
            let jumin = frm.juminNum.value //폼의 juminNum값 가져오기
            jumin = jumin.split(''); // 주민등록번호를 한자리씩 쪼개서 배열에 담기
            let ckarr = [2,3,4,5,6,7,8,9,2,3,4,5]; // 곱해줄 숫자 배열

            // 1. 각자리에 2,3,4,5,6,7,8,9,2,3,4,5를 곱해줌. 단 마지막 자리는 빼놓음
            for(let i=0; i<jumin.length-1; i++){
                jumin[i] = jumin[i] * ckarr[i];
            }
            let juminlast = jumin[jumin.length-1]; // 주민등록번호 마지막자리 따로 빼두기

            // 2. 각 자리의 숫자를 모두 더함
            let sum = 0;
            for(let i=0; i<jumin.length-1; i++){
                sum += jumin[i];
            }

            //3. 11로 나눈 나머지 값을 구함
            sum = sum % 11;

            // 4. 11에서 결과값을 뺌(단, 마지막 결과가 두자리인 경우 다시 10으로 나눈 나머지 값을 구함)

            sum = 11 - sum;

            if(sum > 9){
                sum = sum % 10;
            }
            
            // 5. 결과가 주민등록번호 마지막 자리와 일치하면 유효한 주민등록번호임
            if(sum == juminlast){ // 결과값과 주민등록번호 마지막 번호가 일치한다면
            	//id가 result인 Element에 해당 값 삽입
                document.getElementById('result').innerHTML = '유효한 주민등록번호 입니다.';
            }
            if(sum != juminlast && juminlast != undefined){ 
            // 결과값과 주민등록번호 마지막 번호가 일치하지않는다면
            //id가 result인 Element에 해당 값 삽입
                document.getElementById('result').innerHTML = '유효하지않은 주민등록번호 입니다.';
            }
        }
        juminCheck();
    </script>
</body>

 

[결과]

주민등록번호 유효성 검사

주민등록번호 유효성 검사📑

* '-'을 제외하고 입력해주세요.

 

 

 

 


열심히 공부하고 있지만, 오류 사항이 존재 할 수 있습니다.

수정 사항이 존재 할 경우 알려주시면 감사하겠습니다 <(__)>

반응형

'프로그래밍 > 자바스크립트' 카테고리의 다른 글

16 노드(node)  (0) 2021.07.09
15 문서객체모델(DOM)  (0) 2021.07.08
13 window 객체  (0) 2021.07.03
12 Math 객체, String 객체, Date 객체  (0) 2021.07.02

댓글