1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 |
import java.util.Scanner;
public class CheckBizID {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
dasi:
while(true){
System.out.print("사업자 등록번호를 입력하세요(0은 종료)");
String bizID = scan.nextLine();
if(bizID.trim().equals("0")) break; // 문자열.trim() : 앞뒤공백을 제거해라
if(bizID.length()!=10){ // 문자열.length() : 문자열의 길이를 구한다.
System.out.println("사업자 등록번호는 10자리 이어야 합니다.");
continue;
}
for(int i=0;i<bizID.length();i++){ // 문자열.charAt(index) : index위치의 1문자 얻기(index는 0부터)
if(bizID.charAt(i)<'0' || bizID.charAt(i)>'9'){
System.out.println("사업자 등록번호는 반드시 숫자로만 이루어져 있어야 합니다.");
continue dasi;
}
}
// 여기까지 내려오면 숫자로만 이루어진 10자리이다.
int sum=0;
// 1. 각각의 자리에 1 3 7 1 3 7 1 3 5 를 곱한 합을 구한다.
String checkNo="137137135";
for(int i=0;i<checkNo.length();i++)
sum += (bizID.charAt(i)-'0') * (checkNo.charAt(i)-'0');
// 2. 마지막에서 두번째 숫자에 5를 곱하고 10으로 나누어 나온 몫을 더한다.
sum += ((bizID.charAt(8)-'0') * 5)/10;
// 3. 매직키인 10로 나누어 나머지만 취한다.
sum %= 10;
// 4. 매직키인 10에서 나머지를 빼면
sum = 10 - sum;
// 5. 이숫자가 사업자등록번호 마지막 자리의 숫자와 일치하면 대한민국 사업자이다.
System.out.println( bizID + "는 " +
((sum==bizID.charAt(9)-'0') ? "맞는" : "틀린") + "사업자 번호입니다.");
}
scan.close();
}
} |
자바스크립트 소스 ]
function checkBizID(bizID) //사업자등록번호 체크
{
// bizID는 숫자만 10자리로 해서 문자열로 넘긴다.
var checkID = new Array(1, 3, 7, 1, 3, 7, 1, 3, 5, 1);
var tmpBizID, i, chkSum=0, c2, remander;
bizID = bizID.replace(/-/gi,'');
for (i=0; i<=7; i++) chkSum += checkID[i] * bizID.charAt(i);
c2 = "0" + (checkID[8] * bizID.charAt(8));
c2 = c2.substring(c2.length - 2, c2.length);
chkSum += Math.floor(c2.charAt(0)) + Math.floor(c2.charAt(1));
remander = (10 - (chkSum % 10)) % 10 ;
if (Math.floor(bizID.charAt(9)) == remander) return true ; // OK!
return false;
}