js 生成一维码(条形码)

JavaScript实现真实可用的条形码生成方案 条形码不再是冷冰冰的数据符号,它可以成为 UI 的一部分。})指令式调用,语义清晰,易于复用。 阅读详情

http://blog.youkuaiyun.com/zhaokuo719/article/details/8978228

1、js代码:

[javascript]  view plain  copy
 print ?
  1. (function() {  
  2.   if (!exports) var exports = window;  
  3.   var BARS       = [212222,222122,222221,121223,121322,131222,122213,122312,132212,221213,221312,231212,112232,122132,122231,113222,123122,123221,223211,221132,221231,213212,223112,312131,311222,321122,321221,312212,322112,322211,212123,212321,232121,111323,131123,131321,112313,132113,132311,211313,231113,231311,112133,112331,132131,113123,113321,133121,313121,211331,231131,213113,213311,213131,311123,311321,331121,312113,312311,332111,314111,221411,431111,111224,111422,121124,121421,141122,141221,112214,112412,122114,122411,142112,142211,241211,221114,413111,241112,134111,111242,121142,121241,114212,124112,124211,411212,421112,421211,212141,214121,412121,111143,111341,131141,114113,114311,411113,411311,113141,114131,311141,411131,211412,211214,211232,23311120]  
  4.     , START_BASE = 38  
  5.     , STOP       = 106  ;  
  6.   function code128(code, barcodeType) {  
  7.     if (arguments.length<2)  
  8.          barcodeType = code128Detect(code);  
  9.     if (barcodeType=='C' && code.length%2==1)   
  10.         code = '0'+code;   
  11.     var a = parseBarcode(code,  barcodeType);  
  12.     return bar2html(a.join('')) + '<label>' + code + '</label>';   
  13.   }  
  14.   
  15.   function bar2html(s) {  
  16.     for(var pos=0, sb=[]; pos<s.length; pos+=2) {  
  17.       sb.push('<div class="bar' + s.charAt(pos) + ' space' + s.charAt(pos+1) + '"></div>');  
  18.     }  
  19.     return sb.join('');  
  20.   }  
  21.   
  22.   function code128Detect(code) {  
  23.     if (/^[0-9]+$/.test(code)) return 'C';  
  24.     if (/[a-z]/.test(code)) return 'B';  
  25.     return 'A';  
  26.   }  
  27.   
  28.   function parseBarcode(barcode, barcodeType) {  
  29.     var bars = [];  
  30.     bars.add = function(nr) {  
  31.       var nrCode = BARS[nr];  
  32.       this.check = this.length==0 ? nr : this.check + nr*this.length;  
  33.       this.push( nrCode || ("UNDEFINED: "+nr+"->"+nrCode) );  
  34.     };  
  35.     bars.add(START_BASE + barcodeType.charCodeAt(0));  
  36.     for(var i=0; i<barcode.length; i++) {  
  37.       var code = barcodeType=='C' ? +barcode.substr(i++, 2) : barcode.charCodeAt(i);  
  38.       converted = fromType[barcodeType](code);  
  39.       if (isNaN(converted) || converted<0 || converted>106) throw new Error("Unrecognized character ("+code+") at position "+i+" in code '"+barcode+"'.");  
  40.       bars.add( converted );  
  41.     }  
  42.     bars.push(BARS[bars.check % 103], BARS[STOP]);  
  43.     return bars;  
  44.   }  
  45.   var fromType = {  
  46.     A: function(charCode) {  
  47.       if (charCode>=0 && charCode<32) return charCode+64;  
  48.       if (charCode>=32 && charCode<96) return charCode-32;  
  49.       return charCode;  
  50.     },  
  51.     B: function(charCode) {  
  52.       if (charCode>=32 && charCode<128) return charCode-32;  
  53.       return charCode;  
  54.     },  
  55.     C: function(charCode) {  
  56.       return charCode;  
  57.     }  
  58.   };  
  59.     
  60.   //--| Export  
  61.   exports.code128 = code128;  
  62. })();  
  63.   
  64. /* 
  65.     showDiv:代表需要显示的divID, 
  66.     textVlaue : 代表需要生成的值, 
  67.     barcodeType:代表生成类型(A、B、C)三种类型 
  68.      
  69. */  
  70. function createBarcode(showDiv,textValue,barcodeType){  
  71.     var divElement = document.getElementById(showDiv);  
  72.         divElement.innerHTML = code128(textValue,barcodeType);  
  73. }  

2.css代码如下:

[css]  view plain  copy
 print ?
  1. .barcode {   
  2.   float:left;  
  3.   clear:both;  
  4.   padding: 0 10px; /*quiet zone*/  
  5.   overflow:auto;  
  6.   height:0.5in; /*size*/   
  7. }  
  8. .right { float:right; }  
  9. .barcode + * { clear:both; }  
  10. .barcode div {   
  11.   float:left;  
  12.   height: 0.35in; /*size*/  
  13. }  
  14. .barcode .bar1 { border-left:1px solid black; }  
  15. .barcode .bar2 { border-left:2px solid black; }  
  16. .barcode .bar3 { border-left:3px solid black; }  
  17. .barcode .bar4 { border-left:4px solid black; }  
  18. .barcode .space0 { margin-right:0 }  
  19. .barcode .space1 { margin-right:1px }  
  20. .barcode .space2 { margin-right:2px }  
  21. .barcode .space3 { margin-right:3px }  
  22. .barcode .space4 { margin-right:4px }  
  23. .barcode label {   
  24.   clear:both;   
  25.   display:block;   
  26.   text-align:center;    
  27.   font: 0.125in/100% helvetica; /*size*/  
  28. }  
  29. /*** bigger ******************************************/  
  30. .barcode2 {   
  31.   float:left;  
  32.   clear:both;  
  33.   padding: 0 10px; /*quiet zone*/  
  34.   overflow:auto;  
  35.   height:1in; /*size*/   
  36. }  
  37. .barcode2 + * { clear:both; }  
  38. .barcode2 div {   
  39.   float:left;  
  40.   height: 0.7in; /*size*/  
  41. }  
  42. .barcode2 .bar1 { border-left:2px solid black; }  
  43. .barcode2 .bar2 { border-left:4px solid black; }  
  44. .barcode2 .bar3 { border-left:6px solid black; }  
  45. .barcode2 .bar4 { border-left:8px solid black; }  
  46. .barcode2 .space0 { margin-right:0 }  
  47. .barcode2 .space1 { margin-right:2px }  
  48. .barcode2 .space2 { margin-right:4px }  
  49. .barcode2 .space3 { margin-right:6px }  
  50. .barcode2 .space4 { margin-right:8px }  
  51. .barcode2 label {   
  52.   clear:both;   
  53.   display:block;   
  54.   text-align:center;    
  55.   font: 0.250in/100% helvetica; /*size*/  
  56. }  

3.html代码如下:

[html]  view plain  copy
 print ?
  1. <html>  
  2.   <head>  
  3.     <title>QR-Code Clock</title>  
  4.     <link rel="stylesheet" href="code128.css" type="text/css" media="screen" charset="utf-8">  
  5.     <script src="code128.js" type="text/javascript" charset="utf-8"></script>  
  6.        <script type="text/javascript">  
  7. (function(divId) {                                                         
  8.   var  divElement ,oldOnLoad = window.onload  ;  
  9.   function getTimeString() {  
  10.     var pad = function(n) { return n < 10 ? '0' + n.toString(10) : n.toString(10); }  
  11.        ,dt = new Date();  
  12.     return [pad(dt.getHours()), pad(dt.getMinutes()), pad(dt.getSeconds())].join(':');  
  13.   }  
  14.     
  15.   function UpdateClock() {  
  16.     var timeText = getTimeString();  
  17.     divElement.innerHTML = code128(timeText);  
  18.   }  
  19.   window.onload = function() {  
  20.     divElement = document.getElementById(divId);  
  21.     UpdateClock();  
  22.     setInterval(UpdateClock, 1000);  
  23.     if (typeof oldOnLoad == 'function') oldOnLoad.apply(this, arguments);  
  24.   }  
  25. })('div1');  
  26.     </script>  
  27.   
  28.   </head>  
  29.   <body>  
  30.     <input type="button" value ="生成"  onclick="createBarcode('div128','zhaokuo','B');"/>  
  31.      <div class="barcode2" id="div128"></div>  
  32.      <div class="barcode2" id="div1"></div>       
  33.   </body>  
  34. </html>  

下载地址: http://download.youkuaiyun.com/detail/zhaokuo719/5456817


js生成一维码(条形码) (function() { if (!exports) var exports = window; var BARS = [212222,222122,222221,121223,121322,131222,122213,122312,132212,221213,221312,231212,112232,122132,122231,113222,123122,123221,223211,221132,221231,213212,223112,312131,311222,321122,321221,312212,322112,322211,212123,212321,232121,111323,131123,131321,112313,132113,132311,211313,231113,231311,112133,112331,132131,113123,113321,133121,313121,211331,231131,213113,213311,213131,311123,311321,331121,312113,312311,332111,314111,221411,431111,111224,111422,121124,121421,141122,141221,112214,112412,122114,122411,142112,142211,241211,221114,413111,241112,134111,111242,121142,121241,114212,124112,124211,411212,421112,421211,212141,214121,412121,111143,111341,131141,114113,114311,411113,411311,113141,114131,311141,411131,211412,211214,211232,23311120] , START_BASE = 38 , STOP = 106 ; function code128(code, barcodeType) { if (arguments.length<2) barcodeType = code128Detect(code); if (barcodeType=='C' && code.length%2==1) code = '0'+code; var a = parseBarcode(code, barcodeType); return bar2html(a.join('')) + '' + code + ''; } function bar2html(s) { for(var pos=0, sb=[]; pos<s.length; pos+=2) { sb.push(''); } return sb.join(''); } function code128Detect(code) { if (/^[0-9]+$/.test(code)) return 'C'; if (/[a-z]/.test(code)) return 'B'; return 'A'; } 立即下载

相关推荐

JS生成一维码(条形码)功能示例

主要介绍了JS生成一维码(条形码)功能,结合完整实例形式分析了JS插件生成条形码的具体步骤与相关操作技巧,需要的朋友可以参考下

JS 生成条形码(一维码)jsBarcode

地址:https://cdn.jsdelivr.net/npm/jsbarcode@3.11.5/dist/JsBarcode.all.min.js。HTML部分加入svg容器。也可以进官网查看地址。

qq_17627195的博客 1万+

手把手教你用光耦搭建安全隔离电路:从洗衣机控制板到PLC输入模块实战

本文通过洗衣机控制板驱动高压电机和PLC输入模块采集现场信号两个实战场景,手把手教你使用光耦搭建安全隔离电路。文章详细解析了电路架构、关键器件选型、参数计算、仿真验证及PCB布局避坑技巧,并对比了光耦与数字隔离器的适用场景,帮助电子工程师掌握这门保障系统稳定与安全的必备技能。

h6j7k8l9p0的博客 462

如何用javascript 实现条形码和二维码

请注意,这些示例只是基于JavaScript原生API的简化实现,可能无法处理更复杂的条形码和二维码编码。同样地,要生成二维码,可以使用 JavaScript 原生 API 实现 QR Code 的编码和绘制。要使用 JavaScript 原生的 API 实现条形码或二维码生成,不依赖于任何库或第三方服务,可以使用一些算法来生成对应的图形。使用适当的软件或应用程序,用户还可以生成自己的条形码或二维码来存储个人信息或实现特定功能。然后,根据输入的编码数据,将每个字符替换为对应的编码序列,并绘制条形码的条纹。

BradenHan的专栏 7037

车辆横向控制MPC实战:从‘老王模型’到CasADi求解的保姆级避坑指南

本文详细解析了车辆横向控制MPC的实战应用,从经典动力学模型选择到CasADi求解器的优化配置,提供了一套完整的避坑指南。重点介绍了车辆动力学模型的验证要点、CasADi环境的高效配置技巧以及MPC问题建模的核心要素,帮助开发者快速实现稳健的横向控制方案。

weixin_42524499的博客 346

20231126-超详细Isaac Gym安装教程(基于双系统版本)

我一开始使用了WSL2虚拟环境试了集群服务器里面的交互式桌面,但是都失败了,WSL2因为没办法调用系统的GPU,应该有办法配置但我放弃了,感兴趣的可以自己探索(图片贴出来了)。服务器上出现的问题是Segmentation fault (core dumped),目前还没解决,有可能是驱动和cuda版本的问题(后面有时间再解决)等上图右边都达到了100%,就创建了一个名为rlgpu的conda环境,然后会出现success。注意安装版本要低于3.9!参考链接:非常详细,大家直接看这个博主的安装就行。

m0_37802038的博客 2万+

php 一维码生成_JS生成一维码(条形码)功能示例

本文实例讲述了JS生成一维码(条形码)功能的方法。分享给大家供大家参考,具体如下:1、js代码:(function() {if (!exports) var exports = window;var BARS = [212222,222122,222221,121223,121322,131222,122213,122312,132212,221213,221312,231212,11223...

weixin_39567013的博客 270

【Python机器学习】决策树与随机森林:解释性与鲁棒性的平衡

本文深入探讨了决策树和随机森林在解释性与鲁棒性之间的权衡。决策树以其完美的可解释性、快速的推理速度和无需特征标准化等优势,在许多场景中仍然是首选算法。一个经过合理剪枝的决策树,其每个决策路径都可以转化为业务规则,这在金融风控、医疗诊断等对透明度有严格要求的领域无可替代。然而,单棵决策树的高方差和容易过拟合的特性限制了其泛化能力。随机森林通过集成学习的思想,巧妙地解决了这个矛盾。它维持了相对较好的解释性(通过特征重要性、OOB估计等方式),同时通过多棵树的投票或平均,大幅降低了模型的方差。

nmdbbzcl的博客 626

Js 生成条形码(一维码)

链接地址:http://blog.youkuaiyun.com/zhaokuo719/article/details/8978228

ˉ-_lishk_-ˉ 1766

学Simulink--基础储能管理场景实例:基于Simulink的储能SOC均衡控制策略仿真

本文完成了基于 Simulink 的储能 SOC 均衡控制策略仿真,实现了:✅掌握并联系统 SOC 分化机理✅构建基于电流重分配的主动均衡架构✅验证均衡对系统可用容量的显著提升✅实现 SOC 偏差 < 2% 的高精度控制。

amy_mhd的博客 85

华为OD机考双机位C卷 - 敌情监控 (Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 敌情监控 (OD上机考试双机位C卷)。提供在线OJ刷题。Java、C++、Python、GO语言、C语言、JavaScript题解,并提供完整思路讲解。

算法大师! 964

JS生成条形码(一维码)插件JsBarcode用法详解【编码类型、参数

JsBarcode示例与设置:http://codepen.io/lindell/pen/mPvLXx?简单的JsBarcode演示:http://codepen.io/lindell/pen/eZKBdO?条码生成器:http://lindell.me/JsBarcode/generator/这里介绍一下在GitHub生成条形码的js插件→JsBarcode。JsBarcode 我们还可以设置条码的一些属性。CODE128 A/B/C (强制模式)

小熊猫 5103

AES加密算法及AES-CMAC原理白话版系统解析

对AES不同加密算法,加密模式,加密原理,填充算法及AES-CMAC算法的详细系统介绍,帮助大家对AES进行系统掌握。

initiallizer的博客 4068

html生成一维码,JS条形码(一维码)插件JsBarcode用法详解【编码类型、参数、属性】...

本文实例讲述了JS条形码插件JsBarcode用法。分享给大家供大家参考,具体如下:这里介绍一下在GitHub生成条形码的js插件→JsBarcode条码支持的有:CODE128 CODE128 (自动模式切换)CODE128 A/B/C (强制模式)EAN EAN-13EAN-8EAN-5EAN-2UPC (A)CODE39ITF-14MSI MSI10MSI11MSI1010MSI111...

weixin_35720393的博客 1302

AWR2243的等效相位中心与虚拟通道

在俯仰维方向上,不重合的虚拟通道有8个,排序为1:4,9:12。每个虚拟阵元之间的间隔为lambda/2。实际y轴方向虚拟阵列只跨越了8*lambda/2的距离。等效相位中心与虚拟通道类似,只是每个相位中心之间间隔为lambda/4,实际y轴方向等效相位中心只跨越了8*lambda/4=7.59mm的距离

qq_50974341的博客 1981

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

C#生成条形码和二维码

//视图 @{ Layout = null; } <script src="~/Scripts/jquery-3.3.1.min.js"></script> <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-wi...

qq_45195669的博客 603

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

vue项目条形码和二维码生成工具试用

项目开发需要,优惠券分不同类型,简单的使用id生成条形码供店铺使用,麻烦点的需要多个字段的就需要使用二维码来展示了,对应的效果如下 条形码(一维码)使用工具code128 需引入code128.js 和对应的 code123.css, 具体代码可以看 https://www.jb51.net/article/103472.htm 由于项目是vue开发,所以code128.js 稍微改一下,...

weixin_30387663的博客 338

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

vue单据打印 一维码、二维码实现

生成条形码 HTML 代码的函数:code128 函数根据输入的条形码内容和类型生成对应的 HTML 代码。用户体验:第一段代码提供了一个独立的打印窗口,用户可以在不影响当前页面的情况下进行打印操作;将条形码编码转换为 HTML 元素的函数:bar2html 函数将条形码编码数组转换为 HTML 元素字符串,每个编码对应一个包含线条和间隔样式的。检测条形码类型的函数:code128Detect 函数根据输入的条形码内容检测其类型,纯数字为 C 型,包含小写字母为 B 型,其他为 A 型。

qq_46154326的博客 651

使用Zxing 一维码

最近看到满大街的二维码扫码有惊喜,对二维码也有过一些了解,想看看到底是什么原理,在网上找了一些资料,自己弄了一个实例,采用的是MVC,贴出来分享一下 一维码生成 Controller public ActionResult QRCodView() { return View(); } ...

weixin_33725515的博客 102

快速生成二维码与条形码的前端技巧

JsBarcode支持多种条形码格式(CODE128, EAN, UPC等)。QRCode是一个纯JavaScript库,无需依赖即可生成二维码。,信息量小,通常只能存数字或短字符串(如商品编码、订单号)。一般需要扫码枪扫码。

ww_lanz的博客 232

使用barcode自动生成一维码

引入js文件:<script type="text/javascript" src="${ctxStatic}/oa/js/jquery-barcode.js"></script>js代码:function barcreat(num){ $(".barcode").empty().barcode(num, "code128",{barWidth:1, barHeight:30, showHR

一路走一路看,一边哭一边笑 2592

JS打印一维条形码,Layui打印一维条形码。

打印条形码需要引入一个JsBarcode.js文件。唯一的区别就是需要在打印页面里配置一下插件,用法和js一样。

zc1713648120的博客 1051
上一篇: 条形码问题分析
下一篇: 一维条形码 code128 的全面介绍
千雅爸爸
博客等级 码龄18年 292粉丝 639原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值