[출처] 사업자 등록번호 유효성 검사|작성자 hongjae83
* 규칙은 123-12-12345 였다. 아래는 유효성체크 관련 문건.
//사업자 번호 체크
//받은 값이 사업자등록번호인지 유효성을 체크하는 함수
//연속된 10자리 숫자가 들어왔을때 실행한다.
//만약 xxx-xx-xxxxx 형식으로 들어온다면 ConvertNumber를 먼저 수행하여 체크한다.
function ValidateVendorNo(field)
{
var v1,v2,v3,v4,v5,v6,v7;
var v8,v9,v10;
var x,y,z,c,t,xa,xb;
var result = false;
field = field.replace(/-/g,"");
if(field.length == 10)
{
result=true;
if ((field == '2044902645') || (field == '4168302079') || (field == '5058302973'))
{
return true;
}
v1 = field.charAt(0);
v2 = field.charAt(1);
v3 = field.charAt(2);
v4 = field.charAt(3);
v5 = field.charAt(4);
v6 = field.charAt(5);
v7 = field.charAt(6);
v8 = field.charAt(7);
v9 = field.charAt(8);
v10 = field.charAt(9);
w = (parseInt(v1,10) * 1) + (parseInt(v2,10) * 3) + (parseInt(v3,10) * 7);
w = parseInt(w,10) + (parseInt(v4,10) * 1) + ( parseInt(v5,10) * 3) + ( parseInt(v6,10) * 7);
w = parseInt(w,10) + (parseInt(v7,10) * 1) + ( parseInt(v8,10) * 3);
x = (parseInt(v9,10) * 5);
if( x >= 10 )
{
xb = x % 10;
xa = (x - xb) / 10;
y = w + xa + xb;
}
else
{
y = w + x;
}
z1 = y / 10;
z2 = y % 10;
if( z2 != 0 )
{
z2 = 10 - z2;
}
if( z2 != v10 )
{
return false;
}
}
else
{
result = false;
}
return result;
}