Javascript 주민번호, 주민등록번호 체

Javascript 주민번호, 주민등록번호 체

주민번호 형식 : 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]); }

from http://suyou.tistory.com/294 by ccl(A) rewrite - 2021-10-21 16:01:59