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

js 生成随机13位国际条码 支持获取校验位

2018-09-01 17:19 447 查看
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
*/

//获取校验位
function CheckBarCode(s) {
var a = 0,b = 0,c = 0,d = 0,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;
}
//生成随机13位条码
function createBarcode(){
var str='69';
for(var i=0;i<10;i++){
str+=Math.floor(Math.random()*10);
}
var checkcode=CheckBarCode(str);
return str+checkcode;
}
alert("code:" + createBarcode());
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: