반응형
주민등록번호 유효성 체크 프로그램을 만들어 보자
일단, 주민등록번호 유효성 체크하는 방법을 알아보자
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 |
댓글