二维码

二维码QRCode

 

一、二维码介绍

 二维码的应用越来越多,开发中会经常使用,这里主要从二维码的介绍、客户端生成与服务器端生成三个方面讲解二维码。二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。

二维码是信息的载体,通俗说就像我们使用的U盘,能存储一定量的信息在二维码中。

二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。

二、客户端生成二维码

在客户端生成二维码会降低服务器的运算与存储压力,当然要考虑安全性与兼容性。这里使用一个成熟的jQuery插件完成该功能:

github:https://github.com/jeromeetienne/jquery-qrcode

使用方法:

添加标签作为容器:

<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

示例:

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <style>
            
        </style>
    </head>

    <body>
       <input type="text" id="txtCon"/> <input type="button" onclick="getCode();" value="生成"/>
        <h2>生成的二维码</h2>
        <div id="err"></div>
        <script type="text/javascript" src="js/jqQrcode/qrcode.min.js" ></script>
        <script type="text/javascript">
            var err=document.getElementById("err");
            var txtCon=document.getElementById("txtCon");
            var cond=new QRCode(err,{
                watch:300,
                height:250,
                colorLight:"#0A8DDF",
                correctLevel:QRCode.CorrectLevel.L
            });
            function getCode(){
                cond.makeCode(txtCon.value);
            }
        </script>
    </body>

</html>

结果:

原文地址:https://www.cnblogs.com/lizewang/p/9183013.html