我做了一些搜索,但我找不到JavaScript正则表达式中\ s中包含的空白字符的确切列表.
我知道我可以依赖空格,换行,回车和制表符作为空格,但我认为,因为JavaScript传统上只用于浏览器,所以可能是URL编码的空格和类似的东西 ,%20也会得到支持.
JavaScript的正则表达式编译器究竟考虑了什么? 如果浏览器之间存在差异,我只关心webkit浏览器,但了解任何差异会很好.那么,node.js呢?
一个简单的测试:
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)
对于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)
(参考)
HTML!= JavaScript。Javascript 完全是字面意思,%20 就是 %20, 是一串字符 & nbsp 和 ;。对于字符类,我认为几乎每个 Perl 中的 RegEx 都适用于 JS(你不能执行命名组等)。
http://www.regular-expressions.info/javascript.html是我使用的参考。
| 归档时间: |
|
| 查看次数: |
11765 次 |
| 最近记录: |