如何在javascript中验证电子邮件

how to validate email in javascript

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

我正在做一个mvc 5项目。在联系我们页面中,我希望用户向管理员发送他/她的电子邮件地址。所以我想在该页面上用javascript验证电子邮件。我写了一些代码,但无法正常工作。我希望你能帮助我。

<script language="javascript">
    function f1() {
        var inputText = document.getElementById("email").value;
        var mailformat = /^([a-zA-Z0-9_'.'-])+'@(([a-zA-Z0-9'-])+'.)+([a-zA-Z0-9]{2,4})+$/;
        if (inputText.value.match(mailformat)) {
            document.form1.text1.focus();
        }
        else {
            alert("You have entered an invalid email address!");
            document.form1.text1.focus();
            event.preventDefault();
        }
    }
</script>
<form name="form" action="#" onSubmit="return f1()" method="POST">
    <input type="email">
</form>
<script>
function f1(){
    var email = document.forms["form"]["Email"].value;
    var regex = /^([0-9a-zA-Z]([-_''.]*[0-9a-zA-Z]+)*)@([0-9a-zA-Z]([-_''.]*[0-9a-zA-Z]+)*)[''.]([a-zA-Z]{2,9})$/;
    if(!regex.test(email)){
        alert("You have entered an invalid email address!");
        return false;
    }
}  
</script>       

您不希望像这个那样只使用inputText.valueinputText

<input type="text" id="email" />
<input type="submit" onClick="f1()"/>
<script language="javascript">
    function f1() {
        console.log(document.getElementById("email").value);
        var inputText = document.getElementById("email").value;
      console.log(inputText)
        var mailformat = /^([a-zA-Z0-9_'.'-])+'@(([a-zA-Z0-9'-])+'.)+([a-zA-Z0-9]{2,4})+$/;
        if (inputText.match(mailformat)) { // <<<<<<< here
            //document.form1.text1.focus();
            alert("correct")
        }
        else {
            alert("You have entered an invalid email address!");
            document.form1.text1.focus();
            event.preventDefault();
        }
    }
</script>

这里为u-提供了一个用JS验证电子邮件的基本HTML和JS工作代码

function validateForm()
{
    var x = document.forms["myForm"]["email"].value;
    var atpos = x.indexOf("@");
    var dotpos = x.lastIndexOf(".");
    if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
    {
        alert("Not a valid e-mail address");
        return false;
    }
    else
    {
        alert("Valid e-mail address");
        return true;
    }
}
<form name="myForm" action="demo_form.asp" onsubmit="return validateForm();" method="post">
    Email: <input type="text" name="email">
    <input type="submit" value="Submit">
</form>

想一想,你有你的答案:)

function validateEmail(email) {
    var re = (['w-+]+(?:'.['w-+]+)*@(?:['w-]+'.)+[a-zA-Z]{2,7});
    return re.test(email);
}