为什么在使用 javascript 处理条码扫描时扫描器 return 额外的代码?

Why scanner return extra code when using javascript to handle barcode scanning?

当我用条码扫描仪扫描条码时,返回的字符码比应有的多。

我正在尝试使用条码扫描仪扫描我生成的一些条码。我需要使用 Javascript 来捕获我扫描的条形码。
但是,如果我让扫描仪直接输入文本框或txt文件,那还好,但如果我捕捉到扫描仪返回的字符码,我发现原来的字符中混入了一些额外的代码。例如
条码编码为E9C2GUEST1
文本框输入时为E9C2GUEST1,
捕获charcode并传输时,它变成: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;
    });
}

好像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);