【发布时间】:2011-08-16 16:54:27
【问题描述】:
我在尝试验证表单时遇到问题。我正在尝试确保电子邮件输入的电子邮件格式正确,如果不是,我将能够向用户发送错误消息。不幸的是,我不能得到错误的回报;执行。
这是我当前的代码:
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() 部分有什么问题呢?
非常感谢任何帮助。谢谢!
【问题讨论】:
-
你用什么浏览器测试这个?您发布的正则表达式虽然出于多种原因可能不是您想要的,但格式正确,不应导致
match引发异常。您确定email正在获得您期望的价值吗?email很可能实际上不是一个字符串,无论它是什么(可能是undefined)都没有match方法。
标签: javascript jquery validation email