사업자 등록번호는 AAA-BB-CCCCY 의 구조이며,
- 를 제외하면, 숫자로 10자리이다.
앞의 세자리는 국세청과 세무서별 코드
가운데 두자리는 개인과 법인
뒤에 5자리수중에 앞쪽 4자리는 일련번호
맨 끝자리 1개는 오류검증값이다.
유효성 검증로직은
오류검증값을 제외한 9자리를
137137135
이 숫자와 각 자리수별로 곱하여 sum 을 한다.
여기에, 9번째 자리 * 5 / 10 을 한 값을 더하고,
맨뒤 1의 자리 숫자(0~9)만을 취하여,
10 - 맨 마지막값 을 한것이 오류검증값이 되는 것이다.
// Copyright 헝그리개발자(http://bemeal2.tistory.com) // 소스는 자유롭게 사용가능합니다. Copyright 는 삭제하지 마세요. // 사업자등록번호 유효성 검사 public static bool IsValidBizNo(string biz_no) { biz_no = biz_no.Replace(" ", ""); //공백 제거 biz_no = biz_no.Replace("-", ""); // 문자 '-' 제거 if (biz_no.Length != 10) //사업자 등록번호가 10자리인가? { return false; } int sum = 0; int checknum = 0; int[] arrNumList = new int[10]; int[] arrCheckNum = {1,3,7,1,3,7,1,3,5}; for (int i = 0; i < 10; i++) { arrNumList[i] = Convert.ToInt32(biz_no[i].ToString()); } for (int i = 0; i < 9; i++) { sum += arrNumList[i] * arrCheckNum[i]; } sum += ((arrNumList[8] * 5) / 10); checknum = (10 - sum % 10) % 10; return (checknum == arrNumList[9]); } |
코드는 C# 으로 작성되었으나, 코드가 아주 간단하여, 사용하는 언어로 포팅하여 사용하면 된다.
'개발팁' 카테고리의 다른 글
Windows 7 에서 JDK 8 이 설치가 안될때 해결방법 (0) | 2016.07.23 |
---|---|
재외국인 주민번호 유효성 검사 (1) | 2016.07.22 |
ASP.NET MVC 에서 ViewEngine을 이용한 엑셀다운로드 방법 (0) | 2016.07.20 |
C# Extention Method - 확장메서드 사용하기 (0) | 2016.07.19 |
MSSQL 만나이 계산 computed column 으로 컬럼 만들기 (0) | 2016.07.17 |