【发布时间】:2010-12-23 20:22:22
【问题描述】:
我正在使用条形码扫描仪将二维数据矩阵、UID 条形码读取到 Web 应用程序中。 UID 包含不可打印的 ASCII 字符 RS、GS 和 EOT。我的问题是浏览器会自动将 HTML 代码附加到每个 ASCII 字符的前面,并且由于没有为 RS、GS 和 EOT 定义 HTML 代码,所以它很适合。
我正在使用 Javascript 从扫描的数据中动态构建一个字符串,这是我返回的示例
091[041)062>030RS
如您所见,RS 字符被赋予了一个不作为标准 HTML 代码存在的值 (030)。另一个问题似乎是,当击中常规字母字符时,浏览器似乎将其视为回车符(CR),因此它们之前的值会短暂显示然后消失。
我希望能够在浏览器文本框中显示整个字符串。我有一个 javascript 函数来查找这些不可打印的字符并将它们交换为字母,即 RS 将被替换为“R”和“S”的串联。但是如上所述,我仍然遇到浏览器发疯的问题。任何见解都值得赞赏。
更新:
嗨,Mathew,很抱歉没有提供更详细的信息。我用全部替换标志尝试了如下替换功能:
String.replace(/(030)|(029)|(004)/g,"");
问题是它替换了整个字符串,所以
091[041)062>030RS
变成
/(030)|(029)|(004)/g
【问题讨论】:
标签: javascript html dom ascii