의외로 할 수 있는 사업자 번호 검증

김희영·2025년 10월 10일

토막개발지식

목록 보기
13/27

물론!!! 정확한 검증은 국세청에서 발급 받는 게 좋다 하지만 간단하게 해보자

function check(num){
	var numberMap = num.replace(/-/gi, '').split('').map(function (d){
		return parseInt(d, 10);
	});
	
	if(numberMap.length == 10){
		var keyArr = [1, 3, 7, 1, 3, 7, 1, 3, 5];
		var chk = 0;
		
		keyArr.forEach(function(d, i){
			chk += d * numberMap[i];
		});
		
		chk += parseInt((keyArr[8] * numberMap[8])/ 10, 10);
		console.log(chk);
		return Math.floor(numberMap[9]) === ( (10 - (chk % 10) ) % 10);
	}
	
	return false;
}

위 코드를 보면 방법은 다음과 같다.
1. 사업자 번호는 10자리

  1. 인증키로 번호와 연산을 한다.

    (키값 = 1 3 7 1 3 7 1 3 5)

  2. 사업자번호 앞 9자리 인증키 9자리의 각 자리수를 각각 곱하여 더하기

    S = (1 1) + (2 3) + (3 7) + (4 1) + (5 3) ... + (9 5)

  1. 사업자번호 뒤에서 2번째자리와 인증키 마지막 값을 곱하고 10으로 나눈 후 위의 합과 추가로 더해줍니다.

    S += 9 * 5 / 10(소수점은 제거한다.)

  2. 합계를 10으로 나머지 연산을 합니다.

    S % 10 = 9

  3. 10에서 나머지 연산의 값을 빼줍니다.

    10 - 9 = 1

  4. 사업자번호 마지막자리와 마지막 처리한값이 같으면 사업자번호입니다.

    1 = 1 사업자번호 O

profile
내는 반드시 엄청난 개발자가 되고 말것어

0개의 댓글