JsBarcode 项目示例解析:从基础到动态条形码生成
2025-07-08 00:43:37作者:傅爽业Veleda
项目概述
JsBarcode 是一个功能强大的 JavaScript 库,用于在浏览器中生成各种类型的条形码。这个示例文件展示了如何使用 JsBarcode 创建静态和动态条形码,涵盖了从简单实现到高级定制的多种场景。
基础使用示例
简单文本条形码
<div>
<img id="barcode1"/>
<script>JsBarcode("#barcode1", "Hi!");</script>
</div>
这是最基本的用法,只需提供一个目标元素选择器和要编码的文本。JsBarcode 会自动选择合适的条形码格式(这里是 CODE128)并生成对应的条形码图像。
EAN-13 格式条形码
<div>
<img id="barcode2"/>
<script>
JsBarcode("#barcode2", "9780199532179", {
format:"EAN13",
displayValue:true,
fontSize:24,
lineColor: "#0cc"
});
</script>
</div>
这个示例展示了如何:
- 指定条形码格式为 EAN13(国际商品编码)
- 显示条形码下方的文本值
- 自定义文本大小(24px)
- 设置条形码颜色为青色(#0cc)
高级功能示例
动态时间条形码
<div>
<img id="barcode4"/>
<script>
var repeat4 = function(){
var date = new Date();
JsBarcode("#barcode4",
date.getHours().zeroPadding() + ":" +
date.getMinutes().zeroPadding() + ":" +
date.getSeconds().zeroPadding(),
{displayValue: true});
};
setInterval(repeat4,1000);
repeat4();
</script>
</div>
这个示例实现了:
- 每秒更新一次的动态时间条形码
- 使用自定义的
zeroPadding
方法确保时间格式始终为两位数(如 09:05:02) - 自动刷新机制通过
setInterval
实现
随机数字条形码
<div>
<img id="barcode5"/>
<script>
var repeat5 = function(){
JsBarcode("#barcode5", Math.floor(1000000+Math.random()*9000000)+"",{displayValue:true,fontSize:20});
};
setInterval(repeat5,500);
repeat5();
</script>
</div>
这个示例展示了:
- 每500毫秒生成一个7位随机数字的条形码
- 使用
Math.random()
生成随机数 - 确保数字范围在1000000到9999999之间
- 自定义显示文本大小为20px
技术要点解析
-
零填充函数:示例中扩展了 Number 原型,添加了
zeroPadding
方法,确保数字始终显示为两位数。 -
多种格式支持:JsBarcode 支持多种条形码格式,包括 CODE128、EAN13、UPC、ITF-14 等。
-
丰富的配置选项:可以通过配置对象自定义条形码的多种属性,如:
format
:指定条形码格式displayValue
:是否显示文本值fontSize
:文本大小lineColor
:条形码颜色
-
动态更新:结合 JavaScript 定时器可以实现条形码的动态更新,适用于实时数据展示场景。
实际应用建议
- 产品标签:使用 EAN13 或 UPC 格式为商品生成条形码
- 实时数据监控:如示例中的时间或随机数,可用于展示实时变化的数据
- 票务系统:生成包含唯一标识符的条形码门票
- 库存管理:为库存物品生成可扫描的标识码
JsBarcode 的轻量级特性和简单易用的 API 使其成为前端条形码生成的理想选择,无论是简单的静态条形码还是复杂的动态应用场景都能轻松应对。