JavaScript正则表达式空白字符

bea*_*mit 7 javascript regex

我做了一些搜索,但我找不到JavaScript正则表达式中\ s中包含的空白字符的确切列表.

我知道我可以依赖空格,换行,回车和制表符作为空格,但我认为,因为JavaScript传统上只用于浏览器,所以可能是URL编码的空格和类似的东西 ,%20也会得到支持.

JavaScript的正则表达式编译器究竟考虑了什么? 如果浏览器之间存在差异,我只关心webkit浏览器,但了解任何差异会很好.那么,node.js呢?

pim*_*vdb 9

一个简单的测试:

for(var i = 0; i < 1000; i++) {
    if(String.fromCharCode(i).replace(/\s+/, "") == "") console.log(i);
}
Run Code Online (Sandbox Code Playgroud)

字符代码(Chrome):

9
10
11
12
13
32
160
Run Code Online (Sandbox Code Playgroud)


Ale*_* K. 6

对于Mozilla来说;

 [ \f\n\r\t\v\u00A0\u2028\u2029]
Run Code Online (Sandbox Code Playgroud)

(参考)

对于IE(JScript)它

[ \f\n\r\t\v] 
Run Code Online (Sandbox Code Playgroud)

(参考)


Kin*_*lan 3

HTML!= JavaScript。Javascript 完全是字面意思,%20 就是 %20,&nbsp;是一串字符 & nbsp 和 ;。对于字符类,我认为几乎每个 Perl 中的 RegEx 都适用于 JS(你不能执行命名组等)。

http://www.regular-expressions.info/javascript.html是我使用的参考。