返回0的Javascript正则表达式

返回0的Javascript正则表达式,javascript,regex,Javascript,Regex,如您所见,电子邮件应该是有效的。不管我输入什么,z都返回null。我是否完全使用了错误的语法 如何使此正则表达式返回为真? 谢谢 函数emailValidate(){ var x=document.forms[“creation”][“emailCreation”].value; var y=x.长度; var z=x.match(“/^([^()[\]\\,;:\s@\”]+(\.[^()[\]\,;:\s@\']+)*)(\“+\”)(\[[0-9]{1,3}.[0-9]{1,3}.[0-9

如您所见,电子邮件应该是有效的。不管我输入什么,z都返回null。我是否完全使用了错误的语法

如何使此正则表达式返回为真? 谢谢

函数emailValidate(){
var x=document.forms[“creation”][“emailCreation”].value;
var y=x.长度;
var z=x.match(“/^([^()[\]\\,;:\s@\”]+(\.[^()[\]\,;:\s@\']+)*)(\“+\”)(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]+-9]{1,3}.[1,3}}.[1,3}.];
var_dump(z);
var_dump(x);

根据我在此处的测试,您的正则表达式是有效的:

我看到的问题是
.match()
方法应该采用正则表达式。您在字符串中传递了正则表达式

解决方案是分解(去掉开头和结尾的引号):


如何使用此数组进行进一步验证取决于您。以下是关于的建议。如果您实际上不想获得匹配项,并且只想测试电子邮件是否符合常规express,请使用RegExp对象的方法并传递要测试的字符串,希望这会有所帮助。

var-emailReg=/^([^()[\]\\,;:\s@\“]+(\.[^()[\]\,;:\s@\“]+)*)(\“+\”)(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]+{1,3}.[1,3}]);([a-zA 0-9]+-Z]+[a-2]/];
函数emailValidate(){
var x=document.forms[“creation”][“emailCreation”].value;
var y=x.长度;
var z=emailReg.test(x);
警报(z);
返回z;
}


我认为您需要删除
x.match()
Anivash中的双引号-部分有效。它将z转换为数组,如果(z==true){}不起作用,则对!=或!==NULL也一样。还有什么建议吗?谢谢!您的正则表达式可以工作。显示不起作用的代码。dan111:
if(z!==NULL){document.getElementById(“此处”).innerHTML=“test7”}
——我还使用了
!=NULL
,和
==true
PS,我没有解决它,因为这不是你核心问题的一部分,但是你使用var\u dump有什么原因吗?JavaScript中没有这个,它有自己的垃圾收集。Adam,是的:如果你在引用console.file(?),使用起来非常痛苦。我找到了一个模仿var_dump的脚本,并添加了该脚本用于测试。:)感谢@icor103!这就是我想要的。谢谢,伙计。
function emailValidate() {
var x = document.forms["creation"]["emailCreation"].value;
var y = x.length;
var z = x.match(" /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/");
var_dump(z);
var_dump(x);
var z = x.match(/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
["admin@website.com", "admin", "admin", undefined, undefined, "website.com", undefined, "website.com", "website."]