备注: 使用字符串创建的正则表达式:"\"也需要加转义符: var reg1=new RegExp("\\w+"); 这和 直接使用:var reg2= /\w+/ 他们是等价的。
A:
var reg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
if (reg.test(input)) {
return true;
}
B:
this.email = "^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$";
_this.isEmail = function (str) {
return new RegExp(window.LoginValidateRegExp.email).test(str);
};
总结:当使用构造函数创造正则对象时,需要常规的字符转义规则(在前面加反斜杠 \)。比如,以下是等价的:
var re = new RegExp("\\w+"); var re = /\w+/;
参考资料:
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/RegExp

本文介绍了两种创建正则表达式的方法:一是使用构造函数并遵循转义规则;二是直接声明。通过示例展示了如何验证电子邮件地址的有效性。
1535

被折叠的 条评论
为什么被折叠?



