본문 바로가기
IT-개발,DB

[개발/javascript] 사업자등록번호 검증하기

by SB리치퍼슨 2014. 12. 30.







사업자등록번호 검증하기

- isNuN() : 해당값이 문자인지 숫자인지 파악합니다. 숫자가 아니면 true값을 반환합니다.
- parseInt(변수, 한계값) : 해당값의 소수부분을 버림합니다.



* 전기신호의 0, 1이 off, on를 의미하듯이 javascript의 0은 false, 그 외 다른 수는 true를 의미합니다.



* 사업자 등록번호 공식
사업자번호는 총 10자리로 이루어져 있습니다.
처리1 ; 아홉번째 번호 *5
처리2 : [처리1] /10
처리3 : [처리1] %10 (나눈 목의 나머지값)
처리4 : (첫번째번호*1) + (두번째번호*3) + (세번째번호*7) + (네번째번호*1) + (다섯번째번호*3)
   + (여섯번째번호*7) + (일곱번째번호*1) + (여덟번째번호*3) + (열번째번호*1) + [처리2] + [처리3]
처리5 : [처리4]에서 구해진 결과값을 10으로 나누어 나머지가 0이면 사업자 등록번호가 맞습니다.





----------------------------------------------------------------------------------------



<html>
<script language="JavaScript">
<!--



function sa_check() {

var num = (frm1.num1.value + frm1.num2.value + frm1.num3.value);



if (num.length < 1) {  /* 아무것도 입력하지 않으면 에러 */
  alert("사업자 번호를 입력하세요.");
  frm1.num1.focus();
  return false;
}



if (isNaN(num)) {  /* 숫자가 아니면 에러 */
  alert("숫자만 입력하세요");
  frm1.num1.focus();
  return false;
}



var w1, w2, w3, wt;  /* 사업자번호 공식의 시작↓ */



w1 = num.charAt(8) *5;
w2 = parseInt((w1/10), 10);  /* 소수부분을 제거 */
w3 = w1 %10;



wt = num.charAt(0) *1 + num.charAt(1) *3 + num.charAt(2) *7;
wt += num.charAt(3) *1 + num.charAt(4) *3 + num.charAt(5) *7;
wt += num.charAt(6) *1 + num.charAt(7) *3 + num.charAt(9) *1;
wt += (w2 + w3);



if (!(wt %10)) {  /* 0은 false, 이외 숫자는 true입니다. !는 not을 의미합니다. */
  return true;
}
else {
  alert("규칙에 맞지 않는 사업자 등록번호입니다.");
  frm1.num1.focus();
  return false;
}

return true;
}



-->
</script>



<body onload="frm1.myname.focus()">
<form name="frm1" onsubmit="return sa_check()">
<table border=1 bordercolor="#cc9999" cellpadding=3 cellspacing=3>



<tr>
<td width=120 bgcolor="#ccaaaa" align="center">대표자</td>
<td width=150 bgcolor="#eeccbb" align="center">
  <input type="text" name="myname" size=10 maxlength=10>
</td>
</tr>
<tr>
<td bgcolor="#ccaaaa" align="center">사업자 등록번호</td>
<td bgcolor="#eeccbb" align="center">
  <input type="text" name="num1" size=3 maxlength=3>-
  <input type="text" name="num2" size=2 maxlength=2>-
  <input type="text" name="num3" size=5 maxlength=5>
</td>
</tr>
<tr>
<td colspan=2 align="center">
  <input type="submit" value=" 확인 ">
</td>
</tr>



</table>
</form>
</body>
</html>

반응형

댓글