首页 > 解决方案 > 验证电子邮件并相应显示

问题描述

我想检查 Javascript 中的电子邮件有效性,然后如果它无效则显示警报框,如果有效则显示 div2。但它不工作

这是javascript:

function _(x){
    return document.getElementById(x);
}

function Phase1()
{       
    myemail = _("email").value;     
    var reg = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

    if (reg.test(designeremail) == false) 
    {
        alert('Invalid Email Address');            
    }
    else
    {
    _("phase1").style.display = "none";
    _("phase2").style.display = "block";

    }
}

这是我的html:

<form id="myform" onsubmit="return false" >    
    <div id="phase1">                 
            <label>Email</label><div><input type="text" id="email" name="email"  required></div>                
            <div><button onclick="Phase1()" class="btn"><strong>Next</strong></button></div>
    </div> 
    <div id="phase2">                 
            <label>Name</label><div><input type="text" id="mname" name="myname"  required></div>                
            <div><button onclick="Phase2()" class="btn"><strong>Submit</strong></button></div>
    </div> 
</form>

但即使使用错误的电子邮件,它也会继续并显示第 2 阶段

标签: javascript

解决方案


我认为这是 js 而不是 php。顺便说一句,这是因为您可能正在测试错误的变量:

if (reg.test(designeremail) == false) 您正在测试,这与您可能想要测试的形式designeremail不同。email


推荐阅读