我遇到了一个表单,我试图验证。我试图确保电子邮件输入的电子邮件是正确的格式,如果不是,我将能够向用户发送错误消息。不幸的是,我不能得到虚假的回报。执行。.match()为什么阻止我的代码执行?
这里是我当前的代码:
function validate(){
var email = $('input.email').value;
var emailRE = /^.*@.+\..{2,5}$/;
if (email.match(emailRE)){
alert("This is true");
} else {
alert("This isn't true.");
}
return false;
}
当我执行此,重新加载页面和表单提交,既不警报熄灭。但是,当我把整个if,else部分,返回false;执行,并且页面不重新加载。我也尝试拿出'.match()',代码执行得很好。那么导致它失败的.match()部分有什么问题?
任何帮助非常感谢。谢谢!
你用什么浏览器测试了这个btw?你发布的正则表达式虽然可能不是你想要的许多原因,但它是格式良好的,不应该导致'match'抛出异常。你确定'email'正在获得你期望的价值吗? “email”实际上可能不是一个字符串,不管它是什么(可能是'undefined')都没有'match'方法。 – 2011-05-02 01:55:22
使用Firefox 4.;) – Sawyer 2011-05-02 22:28:41