Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript时电子邮件验证无法正常工作_Javascript - Fatal编程技术网

使用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\-])+\.)

这是我使用JavaScript的电子邮件地址验证代码。警报消息正常工作,但当我提交并给出有效的电子邮件地址时,它会提醒“请提供有效的电子邮件地址”。请帮帮我

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,所以下次你链接到更好的资源。但是,为了完整起见,让我链接到关于不同输入类型的。这现在可以正常工作了,谢谢您的帮助。