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

编程入门 行业动态 更新时间:2024-10-11 23:24:33

js 生成随机13位国际<a href=https://www.elefans.com/category/jswz/34/1768119.html style=条码 支持获取校验位"/>

js 生成随机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  */
//获取校验位
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());

php获取校验位的方法,直接把js函数改装一下就成php的了

<?php
function CheckBarCode($s) {$length=strlen($s)-1;$a = $b = $c = $d = $e = 0;for ($i = 1; $i <= $length; $i++) {$sc = intval($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;
}
$code=empty($_GET['code'])?'':trim($_GET['code']);
if(empty($code))exit('?code=');
echo $code.' :'.CheckBarCode($code);
?>

api地址:.php?code=2211114000604

更多推荐

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

本文发布于:2024-03-14 16:57:20,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1736926.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:条码   国际   校验位   js

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!