首页
/ JsBarcode 项目示例解析:从基础到动态条形码生成

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>

这个示例展示了如何:

  1. 指定条形码格式为 EAN13(国际商品编码)
  2. 显示条形码下方的文本值
  3. 自定义文本大小(24px)
  4. 设置条形码颜色为青色(#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>

这个示例实现了:

  1. 每秒更新一次的动态时间条形码
  2. 使用自定义的 zeroPadding 方法确保时间格式始终为两位数(如 09:05:02)
  3. 自动刷新机制通过 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>

这个示例展示了:

  1. 每500毫秒生成一个7位随机数字的条形码
  2. 使用 Math.random() 生成随机数
  3. 确保数字范围在1000000到9999999之间
  4. 自定义显示文本大小为20px

技术要点解析

  1. 零填充函数:示例中扩展了 Number 原型,添加了 zeroPadding 方法,确保数字始终显示为两位数。

  2. 多种格式支持:JsBarcode 支持多种条形码格式,包括 CODE128、EAN13、UPC、ITF-14 等。

  3. 丰富的配置选项:可以通过配置对象自定义条形码的多种属性,如:

    • format:指定条形码格式
    • displayValue:是否显示文本值
    • fontSize:文本大小
    • lineColor:条形码颜色
  4. 动态更新:结合 JavaScript 定时器可以实现条形码的动态更新,适用于实时数据展示场景。

实际应用建议

  1. 产品标签:使用 EAN13 或 UPC 格式为商品生成条形码
  2. 实时数据监控:如示例中的时间或随机数,可用于展示实时变化的数据
  3. 票务系统:生成包含唯一标识符的条形码门票
  4. 库存管理:为库存物品生成可扫描的标识码

JsBarcode 的轻量级特性和简单易用的 API 使其成为前端条形码生成的理想选择,无论是简单的静态条形码还是复杂的动态应用场景都能轻松应对。