Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式不能从JavsScript函数工作-为什么?_Javascript_Regex - Fatal编程技术网

Javascript 正则表达式不能从JavsScript函数工作-为什么?

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

我有一个简单的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.COM返回:${validateEmail(“gmail@gmail.com")}`);发现我使用的工具自动转义了我的正则表达式字符串中的一些字符。因此,我的字符串的计算结果不正确。对于那些感兴趣的人,我使用的A/B测试工具是SiteSpect。

/\w+@\w+\.\w+/;如果它在控制台中工作,可能不是正则表达式,而是A/B工具检查它的方式。您知道它使用什么方法来匹配正则表达式吗?也许可以在日志消息中添加更多内容,以便您可以看到输入字符串。或者从
validateEmail
函数中记录它,以便它始终显示它接收到的内容。这将帮助您找出它不起作用的原因。正如@Nicolas所说,由于此代码工作良好,几乎可以肯定您正在使用的是A/B测试。