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

 

 

 

 

 

+ Recent posts