주민번호 형식 : 123456-1234567
1. 정규식으로 숫자6자리, 대쉬, 숫자7자리 체크
2. 주민번호 체크 로직으로 체크
주민번호 첫자리부터 12번째 자리까지 순서대로
2,3,4,5,6,7,8,9,2,3,4,5 를 한자리씩 곱해서 모두 더한다.
모두 더한값을 11로 나누어 나머지를 구한다.
11에서 나머지를 뺀 값이 주민번호의 마지막 번호와 같으면 유효하다.
ex) sum = 1*2 + 2*3 + 3*4 + 4*5 + 5*6 + 6*7 + 1*8 + 2*9 + 3*2 + 4*3 + 5*4 + 6*5 = 206
나머지 = 206 % 11 = 8
값 = 11 - 8 = 3
주민번호 마지막은 7이므로 유효하지 않음.
// 주민번호 체크
function isResidentRegNoValid(residentRegNo) {
var re = /^[0-9]{6}-[0-9]{7}$/;
if (!re.test(String(residentRegNo).toLowerCase())) {
return false;
}
var regNos = residentRegNo.replace('-', '').split('');
var checkNos = [2,3,4,5,6,7,8,9,2,3,4,5];
var sum = 0;
for (var i = 0; i < checkNos.length; i++) {
sum = sum + (checkNos[i] * Number(regNos[i]));
}
return ((11 - (sum % 11)) % 10) == Number(regNos[12]);
}
'프론트 프로그램 > javascript' 카테고리의 다른 글
javascript 날짜 월 더하기 (0) | 2022.11.18 |
---|---|
iframe안에서 자신의 iframe 선택하기, iframe 높이 조절하기 (0) | 2022.01.05 |