一、二维码介绍
二维码的应用越来越多,开发中会经常使用,这里主要从二维码的介绍、客户端生成与服务器端生成三个方面讲解二维码。二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。
二维码是信息的载体,通俗说就像我们使用的U盘,能存储一定量的信息在二维码中。
二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。
二、客户端生成二维码
在客户端生成二维码会降低服务器的运算与存储压力,当然要考虑安全性与兼容性。这里使用一个成熟的jQuery插件完成该功能,支持中文不依赖jQuery插件,源代码如下:链接: https://pan.baidu.com/s/1T1logibs_oh5a0z9Rb8j-A 提取码: 9mtq
添加标签作为容器:
<div id="qrCode"></div>
添加插件引用:
<script src="js/jqQrcode/qrcode.min.js" type="text/javascript" charset="utf-8"></script>
调用生成方法:
简单生成
new QRCode(document.getElementById("qrcode"), "内容");
带参数生成
var qrcode = new QRCode(document.getElementById("qrcode"), { text: "内容", 128, height: 128, colorDark : "#000000", colorLight : "#ffffff", correctLevel : QRCode.CorrectLevel.H });
参数:
width 256 图像宽度 height 256 图像高度 typeNumber 4 colorDark "#000000" 前景色 colorLight "#ffffff" 背景色 correctLevel QRCode.CorrectLevel.L 容错级别,可设置为: QRCode.CorrectLevel.L QRCode.CorrectLevel.M QRCode.CorrectLevel.Q QRCode.CorrectLevel.H
方法:
makeCode(text) 设置二维码内容 clear() 清除二维码。(仅在不支持 Canvas 的浏览器下有效)
示例:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <textarea id="txtContent" cols="50" rows="5"></textarea> <button type="button" onclick="getCode();">生成</button> <div id="qrCode"></div> <script src="js/jqQrcode/qrcode.min.js" type="text/javascript" charset="utf-8"></script> <script> var qrCode = document.getElementById("qrCode"); var txtContent = document.getElementById("txtContent"); var qrcode=new QRCode(qrCode,{ 300, height:300, correctLevel:QRCode.CorrectLevel.L }); function getCode() { qrcode.makeCode(txtContent.value); } </script> </body> </html>
结果: