사업자번호체크스크립트 간단버전
아래 올라온것을 보고 좀 수정해봤습니다.
정규식으로 처리할수 있는 부분과 루프로 처리할수 있는 부분을 함축했더니 좀 짧아지네요
123-45-67890 스타일과 1234567890 스타일을 모두 처리합니다.
예제에 두가지 경우를 테스트하는것이 나와있으니 잘 쓰실수 있으리라 믿고...
조만간 제 validate 함수에 추가해서 올리도록 하겠습니다.
<script>
function is_binNo(num) {
var reg = /([0-9]{3})-?([0-9]{2})-?([0-9]{5})/;
if (!reg.test(num)) return false;
num = RegExp.$1 + RegExp.$2 + RegExp.$3;
var cVal = 0;
for (var i=0; i<8; i++) {
var cKeyNum = parseInt(((_tmp = i % 3) == 0) ? 1 : ( _tmp == 1 ) ? 3 : 7);
cVal += (parseFloat(num.substring(i,i+1)) * cKeyNum) % 10;
}
var li_temp = parseFloat(num.substring(i,i+1)) * 5 + '0';
cVal += parseFloat(li_temp.substring(0,1)) + parseFloat(li_temp.substring(1,2));
return (parseInt(num.substring(9,10)) == 10-(cVal % 10)%10);
}
alert(is_binNo('123-45-67891') ? "맞음" : "틀림");
alert(is_binNo('1234567891') ? "맞음" : "틀림");
</script>
즐프하세요 : )
정규식으로 처리할수 있는 부분과 루프로 처리할수 있는 부분을 함축했더니 좀 짧아지네요
123-45-67890 스타일과 1234567890 스타일을 모두 처리합니다.
예제에 두가지 경우를 테스트하는것이 나와있으니 잘 쓰실수 있으리라 믿고...
조만간 제 validate 함수에 추가해서 올리도록 하겠습니다.
<script>
function is_binNo(num) {
var reg = /([0-9]{3})-?([0-9]{2})-?([0-9]{5})/;
if (!reg.test(num)) return false;
num = RegExp.$1 + RegExp.$2 + RegExp.$3;
var cVal = 0;
for (var i=0; i<8; i++) {
var cKeyNum = parseInt(((_tmp = i % 3) == 0) ? 1 : ( _tmp == 1 ) ? 3 : 7);
cVal += (parseFloat(num.substring(i,i+1)) * cKeyNum) % 10;
}
var li_temp = parseFloat(num.substring(i,i+1)) * 5 + '0';
cVal += parseFloat(li_temp.substring(0,1)) + parseFloat(li_temp.substring(1,2));
return (parseInt(num.substring(9,10)) == 10-(cVal % 10)%10);
}
alert(is_binNo('123-45-67891') ? "맞음" : "틀림");
alert(is_binNo('1234567891') ? "맞음" : "틀림");
</script>
즐프하세요 : )
댓글 1개
쉽다zzz
12년 전
감사요~
게시글 목록
| 번호 | 제목 |
|---|---|
| 17657 | |
| 17655 | |
| 17654 | |
| 17653 |
JavaScript
ThreeJS - 3D Bar and Progress Bar
1
|
| 17652 |
node.js
RAM점유크기에 의한 노드서버관리
|
| 17651 |
JavaScript
Javascript Undo, Redo 기능 구현하기
|
| 17650 | |
| 17642 |
node.js
nodejs서버가 사용중인 메모리에 대한 로그
|
| 17633 |
node.js
node.js에서 스케쥴링작성
8
|
| 17632 | |
| 17631 |
MySQL
InnoDB와 MyISAM의 우단점
|
| 17630 | |
| 17628 |
JavaScript
자바스크립트 기반으로 HTML Canvas에 이미지를 불러들여 테두리색입히기
|
| 17624 | |
| 17623 | |
| 17620 |
node.js
tcp소켓과 websocket 의 비교
2
|
| 17618 |
JavaScript
JavaScript로 이미지의 부분 영역을 따내기
|
| 17617 | |
| 17614 | |
| 17612 | |
| 17611 | |
| 17610 | |
| 17609 | |
| 17608 |
node.js
Node.js로 지속적인 핑 결과를 파일로 저장
|
| 17607 |
정규표현식
특수문자 제거, 우리글짜가 있는지 체크
|
| 17604 |
node.js
Node.js에서 PDF 파일의 페이지 수를 얻기
|
| 17603 | |
| 17602 |
node.js
Node.js로 워터마킹 기능을 구현하는 방법
|
| 17600 | |
| 17594 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기