使用正则表达式验证电子邮件

fai*_*hat 10 html javascript regex

我想用正则表达式验证电子邮件.以下代码显示了我使用过的正则表达式.但是表单不接受简单的anystring@anystring.anystring.(anystring是一个字母).

我错过了什么吗?

window.onload = function () {
    document.getElementById("form").onsubmit = validate;
}

function validate() {
    var email = document.getElementsByTagName("input")[6].value;
    var regex = /^\w@\w+\.\w$/;
    if (!regex.test(email)) {
        alert("enter a valid email");
        return false;
    } else return true;
}
Run Code Online (Sandbox Code Playgroud)

小智 -3

使用当前设置的正则表达式,您仅接受开头一个字符和结尾一个字符。正则表达式的有效电子邮件地址例如是 a@test.a

但你不希望这样,所以将其更改为:var regex = /^\w+@\w+\.\w{2,3}$/;

您错过了加号字符,这意味着您可以输入至少一个或多个字符。顶级域名通常由两个或三个字符组成,因此您可以对其进行限制。

现在应该可以了。