我正在回答一个问题,然后返回 false
var regexp = new RegExp("([\w\.-]+)@((?:[\w]+\.)+)([a-zA-Z]{2,4})");
var result = regexp.test( $("#email").val() ); // returns false
Run Code Online (Sandbox Code Playgroud)
而
var regexp = /([\w\.-]+)@((?:[\w]+\.)+)([a-zA-Z]{2,4})/;
var result = regexp.test( $("#email").val() ); // returns true
Run Code Online (Sandbox Code Playgroud)
这是为什么??
\使用RegExp构造函数时需要转义.
new RegExp("([\\w\\.-]+)@((?:[\\w]+\\.)+)([a-zA-Z]{2,4})");
Run Code Online (Sandbox Code Playgroud)
使用构造函数时,需要使用普通的字符串转义规则(前面包含字符串的特殊字符).例如,以下内容是等效的:
Run Code Online (Sandbox Code Playgroud)var re = /\w+/; var re = new RegExp("\\w+");
| 归档时间: |
|
| 查看次数: |
624 次 |
| 最近记录: |