当我使用条形码扫描仪扫描条形码时,返回的字符数超出了应有的数量。
我正在尝试使用条形码扫描仪扫描我生成的一些条形码。我需要使用Javascript来捕获我扫描的条形码。
但是,如果我允许扫描程序直接输入到文本框或txt文件中,那很好,但是如果我捕获了扫描程序返回的字符代码,我发现原始代码中混入了一些额外的代码。例如
条形码是E9C2GUEST1
输入文本框时为E9C2GUEST1,
捕获字符并进行传输时,它变为:069E0579067C0502071G085U069E083S084T0491
我们可以看到,有一些代码,例如“ 069”,“ 057”,“ 067”,“ 050”,“ 071”,“ 085”,“ 069”,“ 083”,“ 084”和“ 049”与原始代码混合在一起。
有谁知道他们是什么吗?有什么解决办法可以将它们删除?
function ConfigCodeScanning() {
var lastTime = null, currentTime = null;
var lastCode = null, currentCode = null;
$(document).keypress(function (e) {
currentCode = e.charCode;
currentTime = new Date().getTime();
if (currentTime - lastTime <= 30 || lastTime == null) {
//DO scanner input
$("#participantBarcode").val($("#participantBarcode").val() + String.fromCharCode(currentCode));
} else {
//DO nothing
}
lastCode = currentCode;
lastTime = currentTime;
});
}
答案 0 :(得分:0)
似乎067
之前的数字C
指向ASCII table中的十进制值。
对于您的示例数据,如果可以匹配零和2位数字,然后将其替换为空字符串。
0\d{2}
const regex = /0\d{2}/g;
const str = `069E0579067C0502071G085U069E083S084T0491`;
const result = str.replace(regex, '');
console.log(result);