<!DOCTYPE html>
<html>
<head>
<title>二维码生成方案测试</title>
<script type="text/javascript" src="./jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="./jquery.qrcode.js"></script>
<script type="text/javascript" src="./qrcode.js"></script>
</head>
<body>
<div align="center">
<input type="text" id="inputStr"><button id="btn">生成二维码</button><hr>
<div id="current" style="color:red;font-size:20px;"></div>
<div id="erWeiMa"></div>
</div>
<script type="text/javascript">
$("#btn").click(function(){
//清空二维码
$("#erWeiMa").empty();
$("#current").empty();
//输入内容验证
if($("#inputStr").val() == "")
{
alert("请输入要生成二维码的内容!");
return;
}
//生成二维码
$("#erWeiMa").qrcode({
render:"table",
text:utf16to8($("#inputStr").val())
});
$("#current").append($("#inputStr").val());
$("#inputStr").val("");
});
//解决中文问题
function utf16to8(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;
}
</script>
</body>
</html>