您的位置:首页 > Web前端 > JavaScript

EAN-13编码的校验位计算方法,以JS为例

2012-12-03 12:04 519 查看
function  _EAN13(CodeString)
{
if(CodeString == "")return "";
if(CodeString.length > 12)CodeString= CodeString.substring(0,12);
Code = CodeString.split("");
var A = 0;
var B = 0;
for(i=0;i<Code.length;i++)
{
if(i%2==1)
{
A += parseInt(Code[i]);
}
else
{
B +=parseInt(Code[i]);
}
}
var C1 = B;
var C2 = A*3;
var CC = (C1+C2)%10;
var  CheckCode = (10 - CC)%10;
return  CodeString+CheckCode;
}


 

从右边开始数:

A=奇数位的和   *   3

B=偶数位的和

C=(A+B)取个位

校验码=10-C(如果差值为10,则校验码为0)

 

EAN-8的算法是在8位条码前加入5个0,然后按照EAN-13的算法进行计算

      

function  _EAN8(CodeString)
{
if(CodeString == "")return "";
if(CodeString.length > 7)CodeString= CodeString.substring(0,7);
return _EAN13("00000"+CodeString).substring(5,13);
}


 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: