[PHP] 사업자등록번호 유효성 체크
새로운 서비스 개발 작업 중 사업자등록번호가 올바른 것인지를 확인할 필요가 있어 아래의 코드를 작성했다. 실제 등록된 사업자등록번호인지는 다른 서비스를 이용해야하기 때문에 아래 코드로는 확인이 불가능하며 입력된 번호가 사업자등록번호 형식에 맞는 것인지를 체크한다.
<?php
// 사업자 번호 체크
function check_company_number($no)
{
if(!trim($no))
return '사업자 등록번호를 입력해 주십시오.';
if(!preg_match('#^[0-9]{3}-[0-9]{2}-[0-9]{5}$#', $no))
return '사업자 등록번호를 올바른 형식(123-45-67890)으로 입력해 주십시오.';
$num = preg_replace('/[^0-9]/', '', $no);
$att = 0;
$sum = 0;
$arr = array(1, 3, 7, 1, 3, 7, 1, 3, 5);
$cnt = count($arr);
for($i=0; $i<$cnt; $i++) {
$sum += ($num[$i] * $arr[$i]);
}
$sum += intval(($num[8] * 5) / 10);
$at = $sum % 10;
if ($at != 0)
$att = 10 - $at;
if ($num[9] != $att)
return $no . ' 는 올바른 사업자등록번호가 아닙니다.';
}
?>
입력된 사업자등록번호를 체크해서 오류 메세지를 리턴한다.
소스 18번줄 $i<=$cnt 대신 $i<$cnt 로 변경해야 될 것 같습니다.
수정했습니다. 알려주셔서 감사합니다.