最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS生成一維碼(條形碼)功能示例

 更新時(shí)間:2017年01月19日 08:54:45   作者:Joker_Ye  
這篇文章主要介紹了JS生成一維碼(條形碼)功能,結(jié)合完整實(shí)例形式分析了JS插件生成條形碼的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了JS生成一維碼(條形碼)功能的方法。分享給大家供大家參考,具體如下:

1、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('')) + '<label>' + code + '</label>';
 }
 function bar2html(s) {
  for(var pos=0, sb=[]; pos<s.length; pos+=2) {
   sb.push('<div class="bar' + s.charAt(pos) + ' space' + s.charAt(pos+1) + '"></div>');
  }
  return sb.join('');
 }
 function code128Detect(code) {
  if (/^[0-9]+$/.test(code)) return 'C';
  if (/[a-z]/.test(code)) return 'B';
  return 'A';
 }
 function parseBarcode(barcode, barcodeType) {
  var bars = [];
  bars.add = function(nr) {
   var nrCode = BARS[nr];
   this.check = this.length==0 ? nr : this.check + nr*this.length;
   this.push( nrCode || ("UNDEFINED: "+nr+"->"+nrCode) );
  };
  bars.add(START_BASE + barcodeType.charCodeAt(0));
  for(var i=0; i<barcode.length; i++) {
   var code = barcodeType=='C' ? +barcode.substr(i++, 2) : barcode.charCodeAt(i);
   converted = fromType[barcodeType](code);
   if (isNaN(converted) || converted<0 || converted>106) throw new Error("Unrecognized character ("+code+") at position "+i+" in code '"+barcode+"'.");
   bars.add( converted );
  }
  bars.push(BARS[bars.check % 103], BARS[STOP]);
  return bars;
 }
 var fromType = {
  A: function(charCode) {
   if (charCode>=0 && charCode<32) return charCode+64;
   if (charCode>=32 && charCode<96) return charCode-32;
   return charCode;
  },
  B: function(charCode) {
   if (charCode>=32 && charCode<128) return charCode-32;
   return charCode;
  },
  C: function(charCode) {
   return charCode;
  }
 };
 //--| Export
 exports.code128 = code128;
})();
/*
  showDiv:代表需要顯示的divID,
  textVlaue : 代表需要生成的值,
  barcodeType:代表生成類(lèi)型(A、B、C)三種類(lèi)型
*/
function createBarcode(showDiv,textValue,barcodeType){
  var divElement = document.getElementById(showDiv);
    divElement.innerHTML = code128(textValue,barcodeType);
}

2.css代碼如下:

.barcode {
 float:left;
 clear:both;
 padding: 0 10px; /*quiet zone*/
 overflow:auto;
 height:0.5in; /*size*/
}
.right { float:right; }
.barcode + * { clear:both; }
.barcode div {
 float:left;
 height: 0.35in; /*size*/
}
.barcode .bar1 { border-left:1px solid black; }
.barcode .bar2 { border-left:2px solid black; }
.barcode .bar3 { border-left:3px solid black; }
.barcode .bar4 { border-left:4px solid black; }
.barcode .space0 { margin-right:0 }
.barcode .space1 { margin-right:1px }
.barcode .space2 { margin-right:2px }
.barcode .space3 { margin-right:3px }
.barcode .space4 { margin-right:4px }
.barcode label {
 clear:both;
 display:block;
 text-align:center;
 font: 0.125in/100% helvetica; /*size*/
}
/*** bigger ******************************************/
.barcode2 {
 float:left;
 clear:both;
 padding: 0 10px; /*quiet zone*/
 overflow:auto;
 height:1in; /*size*/
}
.barcode2 + * { clear:both; }
.barcode2 div {
 float:left;
 height: 0.7in; /*size*/
}
.barcode2 .bar1 { border-left:2px solid black; }
.barcode2 .bar2 { border-left:4px solid black; }
.barcode2 .bar3 { border-left:6px solid black; }
.barcode2 .bar4 { border-left:8px solid black; }
.barcode2 .space0 { margin-right:0 }
.barcode2 .space1 { margin-right:2px }
.barcode2 .space2 { margin-right:4px }
.barcode2 .space3 { margin-right:6px }
.barcode2 .space4 { margin-right:8px }
.barcode2 label {
 clear:both;
 display:block;
 text-align:center;
 font: 0.250in/100% helvetica; /*size*/
}

3.html代碼如下:

<html>
 <head>
  <title>QR-Code Clock</title>
  <link rel="stylesheet" href="code128.css" type="text/css" media="screen" charset="utf-8">
  <script src="code128.js" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript">
(function(divId) {
 var divElement ,oldOnLoad = window.onload ;
 function getTimeString() {
  var pad = function(n) { return n < 10 ? '0' + n.toString(10) : n.toString(10); }
    ,dt = new Date();
  return [pad(dt.getHours()), pad(dt.getMinutes()), pad(dt.getSeconds())].join(':');
 }
 function UpdateClock() {
  var timeText = getTimeString();
  divElement.innerHTML = code128(timeText);
 }
 window.onload = function() {
  divElement = document.getElementById(divId);
  UpdateClock();
  setInterval(UpdateClock, 1000);
  if (typeof oldOnLoad == 'function') oldOnLoad.apply(this, arguments);
 }
})('div1');
  </script>
 </head>
 <body>
  <input type="button" value ="生成" onclick="createBarcode('div128','12345678','B');"/>
   <div class="barcode2" id="div128"></div>
   <div class="barcode2" id="div1"></div>
 </body>
</html>

運(yùn)行效果圖如下:

更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專(zhuān)題:《javascript編碼操作技巧總結(jié)》、《JavaScript加密解密技巧匯總》、《JavaScript查找算法技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • java遇到微信小程序

    java遇到微信小程序 "支付驗(yàn)證簽名失敗" 問(wèn)題解決

    這篇文章主要介紹了java遇到微信小程序 "支付驗(yàn)證簽名失敗" 問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 詳解微信小程序應(yīng)用和頁(yè)面生命周期

    詳解微信小程序應(yīng)用和頁(yè)面生命周期

    生命周期是指一個(gè)對(duì)象從創(chuàng)建→>運(yùn)行>銷(xiāo)毀的整個(gè)階段,強(qiáng)調(diào)的是一個(gè)時(shí)間段,文中介紹了生命周期的分類(lèi)和微信小程序應(yīng)用,需要的朋友可以參考下
    2022-08-08
  • setTimeout函數(shù)兼容各主流瀏覽器運(yùn)行執(zhí)行效果實(shí)例

    setTimeout函數(shù)兼容各主流瀏覽器運(yùn)行執(zhí)行效果實(shí)例

    setTimeout是一個(gè)很不錯(cuò)的函數(shù),網(wǎng)站頁(yè)面前端工程師經(jīng)常將其用于幾秒后執(zhí)行的動(dòng)作,下文要講的setTimeout可以很好地兼容IE6,7,8,9以及谷歌等主流瀏覽器
    2013-06-06
  • 對(duì)js eval()函數(shù)的一些見(jiàn)解

    對(duì)js eval()函數(shù)的一些見(jiàn)解

    下面小編就為大家?guī)?lái)一篇對(duì)js eval()函數(shù)的一些見(jiàn)解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-08-08
  • 如何基于JS截獲動(dòng)態(tài)代碼

    如何基于JS截獲動(dòng)態(tài)代碼

    這篇文章主要介紹了JS注入eval, Function系統(tǒng)函數(shù)并截獲動(dòng)態(tài)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • js類(lèi)的繼承定義與用法分析

    js類(lèi)的繼承定義與用法分析

    這篇文章主要介紹了js類(lèi)的繼承定義與用法,結(jié)合實(shí)例形式分析了javascript關(guān)于類(lèi)的定義與繼承的相關(guān)使用技巧,需要的朋友可以參考下
    2019-06-06
  • JavaScript 字符編碼規(guī)則

    JavaScript 字符編碼規(guī)則

    通過(guò)頁(yè)面向后臺(tái)傳遞中文數(shù)據(jù)時(shí)少不了編/解碼。。
    2009-05-05
  • JavaScript中創(chuàng)建類(lèi)/對(duì)象的幾種方法總結(jié)

    JavaScript中創(chuàng)建類(lèi)/對(duì)象的幾種方法總結(jié)

    這篇文章主要是對(duì)JavaScript中創(chuàng)建類(lèi)/對(duì)象的幾種方法進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2013-11-11
  • 詳解JS鼠標(biāo)事件中clientX/screenX/offsetX/pageX屬性的區(qū)別

    詳解JS鼠標(biāo)事件中clientX/screenX/offsetX/pageX屬性的區(qū)別

    在熟悉業(yè)務(wù)中播放器功能的時(shí)候,發(fā)現(xiàn)時(shí)間軸上綁定了點(diǎn)擊和拖動(dòng)事件,頻繁遇到了類(lèi)似pageX之類(lèi)的事件屬性,所以本文就來(lái)和大家詳細(xì)聊聊clientX/screenX/offsetX/pageX等屬性的區(qū)別吧
    2024-03-03
  • javascript實(shí)現(xiàn)添加附件功能的方法

    javascript實(shí)現(xiàn)添加附件功能的方法

    這篇文章主要介紹了javascript實(shí)現(xiàn)添加附件功能的方法,在我們編輯信息時(shí),有時(shí)候需要附加文件、圖片實(shí)現(xiàn)上傳功能,通過(guò)本文了解javascript是如何實(shí)現(xiàn)附加功能的,請(qǐng)閱讀。
    2015-11-11

最新評(píng)論

尖扎县| 娱乐| 通河县| 黄大仙区| 抚松县| 孙吴县| 葫芦岛市| 科技| 锡林浩特市| 都匀市| 凤山市| 桂林市| 罗江县| 安化县| 灵宝市| 平武县| 鄂尔多斯市| 佛山市| 三河市| 南华县| 樟树市| 石城县| 蒙山县| 筠连县| 尉犁县| 承德县| 合作市| 富源县| 林口县| 通化县| 城步| 手机| 壶关县| 临沧市| 大新县| 台州市| 三门县| 区。| 旌德县| 新沂市| 彩票|