JS_正则表达式_使用字符串创建的正则表达式_反斜杠也需要添加转义符

备注:   使用字符串创建的正则表达式:"\"也需要加转义符: 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

 


更多专业前端知识,请上 【猿2048】www.mk2048.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值