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

How to validate email with this code?

我编写的代码对我来说非常有用,但我想进行电子邮件验证以在该字段上要求@。这是代码

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()">

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

您可以使用正则表达式来检查“@”和“.”。领域。

正则表达式:

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

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

的文档

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

嘿,使用这个功能:

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?

试试这个进行电子邮件验证:

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");
                }
            }