0

我希望电子邮件地址中只允许有一个 at 符号,并且只包含(az、AZ、下划线 (_)、点 (.) 和破折号 (-))。这就是我到目前为止所拥有的。谢谢

var email = document.forms["register"]["email"].value;
var atpos = email.indexOf("@");
var dotpos = email.lastIndexOf(".");

if (atpos < 3 || dotpos < atpos + 4 || dotpos + 2 >= email.length)
{                   
    alert("You have not entered a valid Email address, please check for mistakes and re-submit");
    return false;
}
4

1 回答 1

-2

你想要的是一个叫做正则表达式的东西。基本上,您可以指定一个模式并让 javascript 检查您的输入以查看它是否与该模式匹配。如果输入是有效的电子邮件地址,则以下 javascript 函数应返回 true,尽管有很多主题讨论哪种正则表达式最适合此确切目的。

function emailIsValid(email) { 
    var regex = /^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/;
    return regex.test(email);
} 
于 2013-05-15T14:02:07.757 回答