/ Regex / 상세보기

사업자등록번호(10자리)

👁 조회 2 📅 2026-06-25

한국의 사업자등록번호(10자리)를 검증하기 위한 정규표현식(Regex)입니다.


상황에 따라 대시(-)가 포함된 경우와 포함되지 않은 경우로 나누어 사용할 수 있습니다.



1. 정규표현식 패턴


① 대시(-)가 없는 10자리 숫자만 검증할 때 : ^\d{10}$


② 대시(-)가 포함된 형태만 검증할 때 (xxx-xx-xxxxx) : ^\d{3}-\d{2}-\d{5}$


③ 대시(-)가 있든 없든 둘 다 허용할 때 : ^\d{3}-?\d{2}-?\d{5}$



2. 프로그래밍 언어별 사용 예시


① JavaScript


function validateBizNo(bizNo) {

// 1. 하이픈 제거 후 10자리 숫자 형식인지 정규식 검사

const cleanNo = bizNo.replace(/-/g, '');

const regex = /^\d{10}$/;

if (!regex.test(cleanNo)) return false;


// 2. 사업자등록번호 유효성 키 (체크섬 공식)

const checkKey = [1, 3, 7, 1, 3, 7, 1, 3, 5];

let sum = 0;


// 앞 9자리 계산

for (let i = 0; i < 9; i++) {

sum += parseInt(cleanNo[i]) * checkKey[i];

}


// 9번째 자리에 5를 곱한 값의 십의 자리 더하기

sum += Math.floor((parseInt(cleanNo[8]) * 5) / 10);


// 최종 체크섬 계산

const checkDigit = (10 - (sum % 10)) % 10;


// 입력된 마지막 자리 숫자와 일치하는지 비교

return checkDigit === parseInt(cleanNo[9]);

}


// 사용 예시

console.log(validateBizNo("123-45-67891")); // 형식 및 유효성 검사 결과 (true 또는 false)



② Jquery


$(function () {

$('#biz_num').on('input', function () {

var num = $(this).val().replace(/[^0-9]/g, '').substring(0, 10);

var result = num;

if (num.length >= 6) {

result = num.substring(0, 3) + '-' + num.substring(3, 5) + '-' + num.substring(5);

} else if (num.length >= 4) {

result = num.substring(0, 3) + '-' + num.substring(3);

}

$(this).val(result);

});

});

다음글 화물차 번호