将带有ASCII控制字符的条形码扫描到输入字段中

问题描述:

我需要使用ASCII(组分隔符)扫描条形码到HTML输入字段,并用|替换所有组分隔符。当我第一次将条形码扫描到Notepad++并将其复制到输入字段时,下列JavaScript函数可以工作,但是当条形码直接扫描到输入字段时,则不能。有什么问题?将带有ASCII控制字符的条形码扫描到输入字段中

var barcode = document.getElementById('barcode').value; 
barcode = barcode.replace(new RegExp(String.fromCharCode(29), 'g'), '|'); 
alert(barcode); 
+0

可能是浏览器的限制。你测试过哪些浏览器? – 2012-04-04 07:23:19

+0

Firefox 11和IE 8. – 2012-04-04 07:25:01

+0

扫描条形码并验证其中包含ASCII 29值后,您可以使用浏览器开发工具检查放入html输入字段的数据的值吗? – 2012-04-04 12:12:55

在我的Symbol Tech条形码扫描仪上,字符作为击键发送。例如,组分隔符将模拟按住left_control键然后发送右括号。您的浏览器将处理模拟击键,就好像您试图使用CTRL + ]一样快捷。

这里描述,您可以捕捉的onkeydown这一事件,并event.which: Firefox onkeydown detect pressed key