验证电子邮件地址失败
问题描述:
我有一个关于jQuery和电子邮件验证的小问题。我正在使用电子邮件输入框来检索用户输入的电子邮件地址(html5),但它不适用于IE,我现在想在提交表单之前添加一个简单的jquery函数来验证输入的电子邮件地址。 这是我所做的。验证电子邮件地址失败
function IsValidEmail(email)
{
var eReg=/^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})?$/;
return eReg.test(email);
}
$(document).ready(function()
{
var em=$('#email').val();
if(!IsValidEmail(em))
{
$('#e-valid').css('color','red');
$('#e-valid').html("Email is invalid.Please enter a valid address");
}
}
);
,这里是形式
<form method="POST" action="doit" id="stuff">
<table>
<tr>
<td width="175px"><label for="email">Your email address</label></td>
<td><input type="email" name="email" id="email" size="35"/><span id="e-valid"> </span></td>
</tr>
<tr>
<td></td><td><input type="submit" value="Send" /></td>
</tr>
</table>
</form>
然而,当我在输入框中输入了无效的电子邮件地址已经被上什么都没有。我很感激任何帮助。谢谢。
答
您正在验证页面加载时的电子邮件,但不是在用户提交信息时验证。你应该把你的验证上submit
事件
$("#aspnetForm").submit(function(){
var em=$('#email').val();
if(!IsValidEmail(em))
{
$('#e-valid').css('color','red');
$('#e-valid').html("Email is invalid.Please enter a valid address");
return false;
}
return true;
}
如果我理解正确,当html表单加载并准备就绪时,代码就会运行。在html页面准备好之后,现在你改变了字段,你需要再次触发检查,根据你上面粘贴的内容,我找不到它。 – Jasonw 2012-04-04 02:20:15