Javascript 正则表达式不能从JavsScript函数工作-为什么?
我有一个简单的JS函数来验证这样的电子邮件(更复杂的代码段不起作用,所以我对它进行了注释并简化了我的代码,但它仍然不起作用):Javascript 正则表达式不能从JavsScript函数工作-为什么?,javascript,regex,Javascript,Regex,我有一个简单的JS函数来验证这样的电子邮件(更复杂的代码段不起作用,所以我对它进行了注释并简化了我的代码,但它仍然不起作用): 功能验证电子邮件(电子邮件){ //变量re=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\)*\w[\w-]{0,66})\.([a-z]{2,6}:(\.[a-z]{2})$/i; //返回重新测试(电子邮件); var re=/\S+@\S+\.\S+/; 返回重新测试(电子邮件); } log(`测试验证函数-GMAIL@GMAIL.C
功能验证电子邮件(电子邮件){
//变量re=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\)*\w[\w-]{0,66})\.([a-z]{2,6}:(\.[a-z]{2})$/i;
//返回重新测试(电子邮件);
var re=/\S+@\S+\.\S+/;
返回重新测试(电子邮件);
}
log(`测试验证函数-GMAIL@GMAIL.COM返回:${validateEmail(“gmail@gmail.com")}`);代码>发现我使用的工具自动转义了我的正则表达式字符串中的一些字符。因此,我的字符串的计算结果不正确。对于那些感兴趣的人,我使用的A/B测试工具是SiteSpect。/\w+@\w+\.\w+/;如果它在控制台中工作,可能不是正则表达式,而是A/B工具检查它的方式。您知道它使用什么方法来匹配正则表达式吗?也许可以在日志消息中添加更多内容,以便您可以看到输入字符串。或者从validateEmail
函数中记录它,以便它始终显示它接收到的内容。这将帮助您找出它不起作用的原因。正如@Nicolas所说,由于此代码工作良好,几乎可以肯定您正在使用的是A/B测试。