返回的符号表示| \ x0a vs.其他

时间:2012-09-08 23:34:44

标签: javascript regex

我正在尝试验证我的代码。

这是一个带有0xa的正则表达式检查:

enter image description here

正如你在一些有返回字符的地方看到的那样,正则表达式与b.c不匹配。 0xa用于返回字符。

这是一个正则表达式检查,包括0xa:

enter image description here

正如你所看到的,它包括在内。

简而言之,我的.js包含以下字符:

[\x0a\x20-\x7e]

但是我担心为什么它有时会使用return作为:

\\ the other return character ( have not verified yet )

有时它使用return作为:

\x0a

相关

http://en.wikipedia.org/wiki/ASCII

1 个答案:

答案 0 :(得分:0)

我很惊讶它看起来像将行组合在一起,但它与你的正则表达式中的星星有关。将正则表达式更改为[\x20-\x7e]+。使用加号(一个或多个匹配)而不是星号(零个或多个匹配)我认为你得到了预期的结果。

如果你想在regexpal的inputText字段中看到什么,请在浏览器中打开控制台并运行document.getElementById('inputText').value.replace(/[^\x20-\x7e]/g,function(a){‌​a = a.charCodeAt(0).toString(16); return '\\u0000'.slice(0,6-a.length) + a;});,你将获得字符串的真实表示。

漂亮的印刷品:

document.getElementById('inputText').value.replace(
  /[^\x20-\x7e]/g,
  function (a){‌
    ​a = a.charCodeAt(0).toString(16);
    return '\\u0000'.slice(0,6-a.length) + a;
  }
);