【前端HTML生成条形码——MQ】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

本文将展示前端HTML如何根据用户输入内容生成对应的条形码,附HTML和JS代码。

一、自定义显示页面

1、效果图

在这里插入图片描述

二、实现步骤

1、引入库

代码如下(示例):

<script type="text/javascript" src="../lib/JsBarcode.all.min.js"></script>

2、实现函数

<script>
   // 生成条形码(code128)的函数
   document.getElementById('myButton').addEventListener('click', function () {
   
       var dom = document.getElementById('svg-barcode')
       var text = document.getElementById('barcodeText').value; // 获取input的值
       if (text == "") {
   
           alert("请输入条码内容");
           return;
       }
       if (dom) {
   
           JsBarcode(dom, text, {
   
               // 条形码格式,可以是 'EAN13', 'EAN8', 'CODE128', 'UPC', 'pharmacode'等等
               format: 'CODE128', 
               lineColor: '#000', // 条形码颜色
               width: 3, // 每个条形的宽度
               height: 100, // 条形码的高度
               displayValue: false, // 是否显示文本
               fontSize: 18, // 字体大小
               margin: 10, // 增加边距
           });
       }
   });
</script>

3、页面及函数代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <title>条形码生成</title>
    <script type="text/javascript" src="../lib/JsBarcode.all.min.js"></script>
    <style>
        .container {
     
            text-align: center;
        }
    </style>
</head>

<body>
    <div style="text-align: center;font-size: 18px;font-weight: 600;background-color: #007ACC;color: #fff;">
        <p>Developed by Mo</p>
    </div>
    <h1 style="text-align: center;font-weight: bolder;margin-top: 50px;font-size: 30px;">条形码生成</h1>
    <div style="max-width: 600px;margin: 0 auto;">
        <div class="input-group">
            <input type="text" id="barcodeText" class="form-control" placeholder="请输入条码内容">
            <span class="input-group-btn">
                <button class="btn btn-default" type="button" id="myButton">生成条形码</button>
            </span>
        </div>
        <div>
            <!-- 用于显示条形码的svg 这里必须是用svg 用canvas会很小而且扫描不好-->
            <svg style="width: 630rpx; height: 134rpx;margin-top: 20rpx" id="svg-barcode"></svg>
        </div>
    </div>
    
    <script>
        // 生成条形码(code128)的函数
        document.getElementById('myButton').addEventListener('click', function () {
     
            var dom = document.getElementById('svg-barcode')
            var text = document.getElementById('barcodeText').value; // 获取input的值
            if (text == "") {
     
                alert("请输入条码内容");
                return;
            }
            if (dom) {
     
                JsBarcode(dom, text, {
     
                    // 条形码格式,可以是 'EAN13', 'EAN8', 'CODE128', 'UPC', 'pharmacode'等等
                    format: 'CODE128',
                    lineColor: '#000', // 条形码颜色
                    width: 3, // 每个条形的宽度
                    height: 100, // 条形码的高度
                    displayValue: false, // 是否显示文本
                    fontSize: 18, // 字体大小
                    margin: 10, // 增加边距
                });
            }
        });
    </script>
</body>
</html>

三、附件,JsBarcode.all.min.js脚本代码

/*! JsBarcode v3.11.6 | (c) Johan Lindell | MIT license */
!function(t){
   var e={
   };function n(r){
   if(e[r])return e[r].exports;var o=e[r]={
   i:r,l:!1,exports:{
   }};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,r){
   n.o(t,e)||Object.defineProperty(t,e,{
   enumerable:!0,get:r})},n.r=function(t){
   "undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{
   value:"Module"}),Object.defineProperty(t,"__esModule",{
   value:!0})},n.t=function(t,e){
   if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{
   enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){
   return t[e]}.bind(null,o));return r},n.n=function(t){
   var e=t&&t.__esModule?function(){
   return t.default}:function(){
   return t};return n.d(e,"a",e),e},n.o=function(t,e){
   return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=15)}([function(t,e,n){
   "use strict";Object.defineProperty(e,"__esModule",{
   value:!0});e.default=function t(e,n){
   !function(t,e){
   if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.data=e,this.text=n.text||e,this.options=n}},function(t,e,n){
   "use strict";var r;function o(t,e,n){
   return e in t?Object.defineProperty(t,e,{
   value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}Object.defineProperty(e,"__esModule",{
   value:!0});var i=e.SET_A=0,a=e.SET_B=1,u=e.SET_C=2,f=(e.SHIFT=98,e.START_A=103),c=e.START_B=104,s=e.START_C=105;e.MODULO=103,e.STOP=106,e.FNC1=207,e.SET_BY_CODE=(o(r={
   },f,i),o(r,c,a),o(r,s,u),r),e.SWAP={
   101:i,100:a,99:u},e.A_START_CHAR=String.fromCharCode(208),e.B_START_CHAR=String.fromCharCode(209),e.C_START_CHAR=String.fromCharCode(210),e.A_CHARS="[\0-_È-Ï]",e.B_CHARS="[ -È-Ï]",e.C_CHARS="(Ï*[0-9]{2}Ï*)",e.BARS=[11011001100,11001101100,11001100110,10010011e3,10010001100,10001001100,10011001e3,10011000100,10001100100,11001001e3,11001000100,11000100100,10110011100,10011011100,10011001110,10111001100,10011101100,10011100110,11001110010,11001011100,11001001110,11011100100,11001110100,11101101110,11101001100,11100101100,11100100110,11101100100,11100110100,11100110010,11011011e3,11011000110,11000110110,10100011e3,10001011e3,10001000110,10110001e3,10001101e3,10001100010,11010001e3,11000101e3,11000100010,10110111e3,10110001110,10001101110,10111011e3,10111000110,10001110110,11101110110,11010001110,11000101110,11011101e3,11011100010,11011101110,11101011e3,11101000110,11100010110,11101101e3,11101100010,11100011010,11101111010,11001000010,11110001010,1010011e4,10100001100,1001011e4,10010000110,10000101100,10000100110,1011001e4,10110000100,1001101e4,10011000010,10000110100,10000110010,11000010010,1100101e4,11110111010,11000010100,10001111010,10100111100,10010111100,10010011110,10111100100,10011110100,10011110010,11110100100,11110010100,11110010010,11011011110,11011110110,11110110110,10101111e3,10100011110,10001011110,10111101e3,10111100010,11110101e3,11110100010,10111011110,10111101110,11101011110,11110101110,11010000100,1101001e4,11010011100,1100011101011]},function(t,e,n){
   "use strict";Object.defineProperty(e,"__esModule",{
   value:!0});e.SIDE_BIN="101",e.MIDDLE_BIN="01010",e.BINARIES={
   L:["0001101","0011001","0010011","0111101","0100011","0110001","0101111","0111011","0110111","0001011"],G:["0100111","0110011","0011011","0100001","0011101","0111001","0000101","0010001","0001001","0010111"],R:["1110010","1100110","1101100","1000010","1011100","1001110","1010000","1000100","1001000","1110100"],O:["0001101","0011001","0010011","0111101","0100011","0110001","0101111","0111011","0110111","0001011"],E:["0100111","0110011","0011011","0100001","0011101","0111001","0000101","0010001","0001001","0010111"]},e.EAN2_STRUCTURE=["LL","LG","GL","GG"],e.EAN5_STRUCTURE=["GGLLL","GLGLL","GLLGL","GLLLG","LGGLL","LLGGL","LLLGG","LGLGL","LGLLG","LLGLG"],e.EAN13_STRUCTURE=["LLLLLL","LLGLGG","LLGGLG","LLGGGL","LGLLGG","LGGLLG","LGGGLL","LGLGLG","LGLGGL","LGGLGL"]},function(t,e,n){
   "use strict";Object.defineProperty(e,"__esModule",{
   value:!0});var r=n(2);e.default=function(t,e,n){
   var o=t.split("").map((function(t,n){
   return r.BINARIES[e[n]]})).map((function(e,n){
   return e?e[t[n]]:""}));if(n){
   var i=t.length-1;o=o.map((function(t,e){
   return e<i?t+n:t}))}return o.join("")}},function(t,e,n){
   "use strict";Object.defineProperty(e,"__esModule",{
   value:!0});var r,o=function(){
   function t(t,e){
   for(var n=0;n<e.length;n++){
   var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){
   return n&&t(e.prototype,n),r&&t(e,r),e}}(),i=n(0);var a=function(t){
   function e(t,n){
   return function(t,e){
   if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){
   if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,n))}return function(t,e){
   if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{
   constructor:{
   value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),o(e,[{
   key:"encode",value:function(){
   for(var t="110",e=0;e<this.data.length;e++){
   var n=parseInt(this.data[e]).toString(2);n=u(n,4-n.length);for(var r=0;r<n.length;r++)t+="0"==n[r]?"100":"110"}return{
   data:t+="1001",text:this.text}}},{
   key:"valid",value:function(){
   return-1!==this.data.search(/^[0-9]+$/)}}]),e}(((r=i)&&r.__esModule?r:{
   default:r}).default);function u(t,e){
   for(var n=0;n<e;n++)t="0"+t;return t}e.default=a},function(t,e,n){
   "use strict";Object.defineProperty(e,"__esModule",{
   value:!0});var r,o=function(){
   function t(t,e){
   for(var n=0;n<e.length;n++){
   var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){
   return n&&t(e.prototype,n),r&&t(e,r),e}}(),i=n(0),a=(r=i)&&r.__esModule?r:{
   default:r},u=n(1);var f=function(t){
   function e(t,n){
   !function(t,e){
   if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var r=function(t,e){
   if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t.substring(1),n));return r.bytes=t.split("").map((function(t){
   return t.charCodeAt(0)})),r}return function(t,e){
   if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{
   constructor:{
   value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),o(e,[{
   key:"valid",value:function(){
   return/^[\x00-\x7F\xC8-\xD3]+$/.test(this.data)}},{
   key:"encode",value:function(){
   var t=this.bytes,n=t.shift()-105,r=u.SET_BY_CODE[n];if(void 0===r)throw new RangeError("The encoding does not start with a start character.");!0===this.shouldEncodeAsEan128()&&t.unshift(u.FNC1);var o=e.next(t,1,r);return{
   text:this.text===this.data?this.text.replace(/[^\x20-\x7E]/g,""):this.text,data:e.getBar(n)+o.result+e.getBar((o.checksum+n)%u.MODULO)+e.getBar(u.STOP)}}},{
   key:"shouldEncodeAsEan128",value:function(){
   var t=this.options.ean128||!1;return"string"==typeof t&&(t="true"===t.toLowerCase()),t}}],[{
   key:"getBar",value:function(t){
   return u.BARS[t]?u.BARS[t].toString():""}},{
   key:"correctIndex",value:function(t,e){
   if(e===u.SET_A){
   var n=t.shift();return n<32?n+64:n-32}return e===u.SET_B?t.shift()-32:10*(t.shift()-48)+t.shift()-48}},{
   key:"next",value:function(t,n,r){
   if(!t.length)return{
   result:"",checksum:0};var o=void 0,i=void 0;if(t[0]>=200){
   i=t.shift()-105;var a=u.SWAP[i];void 0!==a?o=e.next(t,n+1,a):(r!==u.SET_A&&r!==u.SET_B||i!==u.SHIFT||(t[0]=r===u.SET_A?t[0]>95?t[0]-96:t[0]:t[0]<32?t[0]+96:t[0]),o=e.next(t,n+1,r))}else i=e.correctIndex(t,r),o=e.next(t,n+1,r);var f=i*n;return{
   result:e.getBar(i)+o.result,checksum:f+o.checksum}}}]),e}(a.default);e.default=f},function(t,e,n){
   "use strict";Object.defineProperty(e,"__esModule",{
   value:!0}),e.mod10=function(t){
   for(var e=0,n=0;n<t.length;n++){
   var r=parseInt(t[n]);(n+t.length)%2==0?e+=r:e+=2*r%10+Math.floor(2*r/10)}return(10-e%10)%10},e.mod11=function(t){
   for(var e=0,n=[2,3,4,5,6,7],r=0;r<t.length;r++){
   var o=parseInt(t[t.length-1-r]);e+=n[r%n.length]*o}return(11-e%11)%11}},function(t,e,n){
   "use strict";Object.defineProperty(e,"__esModule",{
   value:!0});var r=Object.assign||function(t){
   for(var e=1;e<arguments.length;e++){
   var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t};e.default=function(t,e){
   return r({
   },t,e)}},function(t,e,n){
   "use strict";Object.defineProperty(e,"__esModule",{
   value:!0});var r=function(){
   function t(t,e){
   for(var n=0;n<e.length;n++){
   var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){
   return n&&t(e.prototype,n),r&&t(e,r),e}}(),o=n(2),i=a(n(3));function a(t){
   return t&&t.__esModule?t:{
   default:t}}var u=function(t){
   function e(t,n){
   !function(t,e){
   if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var r=function(t,e){
   if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,n));return r.fontSize=!n.flat&&n.fontSize>10*n.width?10*n.width:n.fontSize,r.guardHeight=n.height+r.fontSize/2+n.textMargin,r}return function(t,e){
   if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{
   constructor:{
   value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),r(e,[{
   key:"encode",value:function(){
   return this.options.flat?this.encodeFlat():this.encodeGuarded()}},{
   key:"leftText",value:function(t,e){
   return this.text.substr(t,e)}},{
   key:"leftEncode",value:function(t,e){
   return(0,i.default)(t,e)}},{
   key:"rightText",value:function(t,e){
   return this.text.substr(t,e)}},{
   key:"rightEncode",value:function(t,e){
   return(0,i.default)(t,e)}},{
   key:"encodeGuarded",value:function(){
   var t={
   fontSize:this.fontSize},e={
   height:this.guardHeight};return[{
   data:o.SIDE_BIN,options:e},{
   data:this.leftEncode(),text:this.leftText(),options:t},{
   data:o.MIDDLE_BIN,options:e},{
   data:this.rightEncode(),text:this.rightText
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值