如何使用此代码验证电子邮件?

时间:2016-01-11 08:47:53

标签: validation contact-form

我制作的代码对我来说很有用,但我想在现场进行电子邮件验证以要求@。这是代码

if (!$('#contact_email').val()) {

        if ($("#contact_email").parent().next(".validation").length == 0) // only add if not added
        {
            $("#contact_email").parent().after("<div class='validation' style='color:red;margin-bottom: 20px;'>Ange e-postadress</div>");
        }
        e.preventDefault(); // prevent form from POST to server
        $('#contact_email').focus();
        focusSet = true;
    } else {
        $("#contact_email").parent().next(".validation").remove(); // remove it
    }

输入是

<input type="text" class="form-control" placeholder="E-post" name="Email" id="contact_email" onblur="validate()">

我不使用基本的电子邮件字段,因为我不想使用英语。 如何在此文本输入上实现@。谢谢

3 个答案:

答案 0 :(得分:0)

您可以使用正则表达式来检查&#34; @&#34;和&#34;。&#34;字段。

正则表达式:

var regex= /\S+@\S+\.\S+/;
return regex.test(email);

如果正则表达式匹配,上面的代码将返回true。此表达式检查给定字符串中是否存在@.。 下面是关于.test http://www.w3schools.com/jsref/jsref_regexp_test.asp

的文档

我注意到其他答案有更好的正则表达式,因为上面的内容会允许存在多个@.

答案 1 :(得分:0)

嘿使用此功能:

function validateEmail(email) {
var re = /^(([^<>()[\]\\.,;:\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,}))$/;
return re.test(email);

}

在这里找到:

Validate email address in JavaScript?

答案 2 :(得分:0)

尝试使用此功能进行电子邮件验证:

function isEmail(email) {
        var mailformat = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
        if (email.match(mailformat)) {
            return true;
        } else {
            return false;
        }
    }

检查如下:

if (email != "") {
                if (!isEmail(email)) {
                    alert("invalid");
                }
            }