使用javascript时电子邮件验证无法正常工作
这是我使用JavaScript的电子邮件地址验证代码。警报消息正常工作,但当我提交并给出有效的电子邮件地址时,它会提醒“请提供有效的电子邮件地址”。请帮帮我使用javascript时电子邮件验证无法正常工作,javascript,Javascript,这是我使用JavaScript的电子邮件地址验证代码。警报消息正常工作,但当我提交并给出有效的电子邮件地址时,它会提醒“请提供有效的电子邮件地址”。请帮帮我 if(email=="") { alert("Enter emailid"); $("#email").focus(); return false; } else if(email!="") { var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)
if(email=="")
{
alert("Enter emailid");
$("#email").focus();
return false;
}
else if(email!="")
{
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
if (!filter.test(email.value))
{
//alert(email)
//alert(filter.test(email.value))
alert('Please provide a valid email address');
email.focus();
return false;
}
}
不是对你的问题的直接回答…但是你不能为此使用HTML5电子邮件输入吗?既然浏览器可以处理电子邮件验证,为什么还要编写javascript代码呢?使用类似以下内容:
<input type="email" name="email">
使用它有很多优点,包括屏幕键盘与之匹配(添加@and.com选项)
对于不同类型的HTML5输入类型,请参考以下内容:您的代码中有一个小错误,导致警报无法显示 请在代码中查找这一行
if (!filter.test(email.value))
并替换为
if (!filter.test(email))
变量Email保存表单的Email字段的值
另一个变化是,寻找这条线
email.focus();
if (!filter.test(email.value))
把这个换成
$("#email").focus();
试试这个
function ValidateEmail(){
var email = $('#txtemail').val();
if(email=="")
{
alert("Enter emailid");
$("#txtemail").focus();
return false;
}
else if(email!="")
{
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
if (!filter.test(email))
{
//alert(email)
//alert(filter.test(email.value))
alert('Please provide a valid email address');
$('#txtemail').focus();
return false;
}
}
}
在按钮的onclick事件上调用函数ValidateEmail
。另外,请注意,您在这条线路上做了一些错误的事情
email.focus();
if (!filter.test(email.value))
将此更改为
if (!filter.test(email))
希望这有帮助
工作您使用的电子邮件地址是什么?还有:
电子邮件的价值是什么?只是说…请不要引用我的话。众所周知,这是不准确的。看。@EtienneMiret读到:我是在把你链接到W3傻瓜,而不是OP,所以下次你链接到更好的资源。但是,为了完整起见,让我链接到关于不同输入类型的。这现在可以正常工作了,谢谢您的帮助。