电子邮件验证无法使用 javascript 正常工作

Email validation not working correctly using javascript

本文关键字:常工作 工作 javascript 验证 电子邮件      更新时间:2023-09-26

这是我使用 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">

使用它有很多优点,包括屏幕键盘来匹配它(添加@和.com选项)。

对于不同类型的 HTML5 输入类型,请参阅以下内容:http://www.w3schools.com/html/html5_form_input_types.asp

试试这个

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。另请注意,您对此行做错了什么

if (!filter.test(email.value)) 

将其更改为

if (!filter.test(email)) 

希望这有帮助。

工作演示

代码中存在一个小错误,导致警报显示。

请在代码中查找此行

if (!filter.test(email.value)) 

并替换为

if (!filter.test(email)) 

变量电子邮件保存表单的"电子邮件"字段的值。

另一个变化是,寻找这条线

email.focus();

并将此更改为

$("#email").focus();