刚好工作上有用到,所以找了一下公式,写了检验的script
(一) 长度:共八位,,全部为数字型态。
(二) 计算公式
1、各数字分别乘以 1,2,1,2,1,2,4,1。
2、当第 7 位数为 7 者,可取相加之倒数第二位取 0 及 1 来计算其和。
3、假如其和能被 10 整除,则表示营利事业统一编号正确
下面这是检验的script语法
复制程式
<script>
function checkTB(sid){
var tbNum = new Array(1,2,1,2,1,2,4,1);
var temp = 0;
var total = 0;
if(sid=="") alert("请先输入欲检验的营利事业统一编号!");
else if(!sid.match(/^d{8}$/)) alert("营利事业统一编号长度不够或格式有误!请注意营利事业统一编号格式为八码数字!");
else{
for(var i = 0; i < tbNum.length ;i ++){
temp = sid.charAt(i) * tbNum[i];
total += Math.floor(temp/10)+temp%10;
}
if(total%10==0 || (total%10==9 && sid.charAt(6)==7)) alert("营利事业统一编号正确!");
else alert("营利事业统一编号错误!");
}
}
</script>
下面这是简易的网页,有兴趣的自行存成HTML档
正确的营利事业统一编号00238778复制程式
<script>
function checkTB(sid){
var tbNum = new Array(1,2,1,2,1,2,4,1);
var temp = 0;
var total = 0;
if(sid=="") alert("请先输入欲检验的营利事业统一编号!");
else if(!sid.match(/^d{8}$/)) alert("营利事业统一编号长度不够或格式有误!请注意营利事业统一编号格式为八码数字!");
else{
for(var i = 0; i < tbNum.length ;i ++){
temp = sid.charAt(i) * tbNum[i];
total += Math.floor(temp/10)+temp%10;
}
if(total%10==0 || (total%10==9 && sid.charAt(6)==7)) alert("营利事业统一编号正确!");
else alert("营利事业统一编号错误!");
}
}
</script>
<FORM METHOD=POST ACTION="">
<INPUT TYPE="text" NAME="TB"> <INPUT TYPE="button" onclick="checkTB(TB.value);" value="检验统编">
</FORM>