生成二维码之 JavaScript (jquery-qrcode) 篇

本文讲述如何使用 jquery-qrcode 生成二维码

<!-- 引入 jQuery 与 jquery.qrcode-->
<script type="text/javascript" src="jquery-2.2.4.min.js"></script>
<script type="text/javascript" src="jquery.qrcode.min.js"></script>
<!-- 创建二维码父级元素 -->
<div id="qrcode"></div>
<div id="qrcode2"></div>
<script type="text/javascript">
    // 选中要生成二维码的元素节点, 调用 qrcode 方法, 传入数据即可
    $("#qrcode").qrcode("https://google.com");
    //qrcode        同时提供更多参数, 具体如下
    //render        绘制方式 canvas(绘制成一张图片) table(绘制成一个表格) 默认 canvas
    //width         二维码宽度  默认 256
    //height        二维码高度  默认 256
    //correctLevel  容错等级    1(L),0(M),3(Q),2(H)    1 最低, 2 最高  默认为 2
    //background    背景颜色    默认白色    #ffffff
    //foreground    前景颜色    默认黑色    #000000
    // 使用示例
    $("#qrcode2").qrcode({
        text: "https://google.com",
        render: "table",
        width: 300,
        height: 300,
        correctLevel: 3,
        background: "#eceadb",
        foreground: "#444"
    })
</script>

由于 qrcode 的编码原因会导致中文乱码
如果能确保二维码中的内容为 ** 链接 **, 那么在使用前对内容进行 encodeURI 编码即可

$("#qrcode").qrcode(encodeURI("https://google.com"));

如果不是链接, 需要对二维码内容进行编码, 方法来源于 http://justcoding.iteye.com/blog/2213034

function toUtf8(str) {      
    var out, i, len, c;      
    out = "";      
    len = str.length;      
    for(i = 0; i < len; i++) {      
        c = str.charCodeAt(i);      
        if ((c>= 0x0001) && (c <= 0x007F)) {      
            out += str.charAt(i);      
        } else if (c> 0x07FF) {      
            out += String.fromCharCode(0xE0 | ((c>> 12) & 0x0F));      
            out += String.fromCharCode(0x80 | ((c>>  6) & 0x3F));      
            out += String.fromCharCode(0x80 | ((c>>  0) & 0x3F));      
        } else {      
            out += String.fromCharCode(0xC0 | ((c>>  6) & 0x1F));      
            out += String.fromCharCode(0x80 | ((c>>  0) & 0x3F));      
        }      
    }      
    return out;      
} 
$("#qrcode").qrcode(toUtf8("https://google.com"));

Java 生成二维码可参考 生成二维码之 Java(Google zxing) 篇

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 参考资料JAVA 生成二维码笔记, 谷歌 Zxing 二维码,用数据流输出到页面显示 项目环境jdk1.8(**z...
    jnil阅读 13,305评论 1 5
  • 摘要 最近,公司业务上有个生成二维码图片的需求(Android端),之后笔者在网上查阅了一些资料,实现了这个功能。...
    梦想编织者灬小楠阅读 45,945评论 37 132
  • 通过 生成二维码之 Java (Google zxing) 篇 我们可以实现简单二维码的生成, 但是二维码显示却过...
    jnil阅读 3,618评论 1 5
  • 另一个实习生H所遇到的情况比K好得多。她是在一家公司做文员,因为公司业务发展范围比较广,专业性强。 有些专业词汇H...
    jenny简爱阅读 668评论 1 1
  • “好可怜啊!”“没有啊!我觉得没什么”这是我在听完同学对她童年说话的描述后发出的感慨,父亲一心只顾股票,不管妻子女...
    懿蚴阅读 282评论 0 0