当前位置:编程学习 > JAVA >>

用Javascript计算EAN-13标准条形码最后一位校验码

今天一来上班看到同事群里面说起EAN-13标准条形码最后一位校验码的事,于是顺手用js写了这个算法。今日个周一,又是一周新的开始祝大家天天好心情!


        /*       

 EAN-13标准条形码最后一位校验码的计算步骤如下:        

 a、从代码位置序号2开始,所有偶数位的数字代码求和。        

b、将步骤a的和乘以3。        

c、从代码位置序号3开始,所有奇数位的数字代码求和。        

d、将步骤b与步骤c的结果相加。        

e、用大于或等于步骤d所得结果且为10最小整数倍的数减去步骤d所得结果,其差即为所求校验码的值。         解释: EAN-13标准条形码代码位置从右到左序号13   12   11   10   9   8   7   6   5   4   3   2   1         

作者:网帆       

创建时间:2011-06-13       

*/        function isBarCode(s) {           

var reg = new RegExp(/^[0-9]{12}$/);           

if (reg.exec(s.substring(0, 12)))                return true;           

else                return false;       

 }       

 function CheckBarCode(s)

{           

 if (!isBarCode(s))

{              

  return "验证条形码前12位出错!";           

}          

  var a = 0;           

 var b = 0;           

 var c = 0;          

  var d = 0;        

    var e = 0;       

     for (var i = 1; i <= 12; i++)

{               

var sc = parseInt(s[i - 1]);               

if (i <= 12 && i % 2 == 0)

{                   

a += sc;               

}               

else if (i <= 11 && i % 2 == 1)

 {                  

  b += sc;               

 }          

  }           

 c = a * 3;           

 d = b + c;          

  if (d % 10 == 0)               

e = d - d;          

  else               

e = d + (10 - d % 10) - d;           

return e;       

}       

 alert("校验码是:" + CheckBarCode("693721090010X"));

补充:web前端 , JavaScript ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,