一个@在电子邮件地址

时间:2013-05-15 13:57:27

标签: javascript validation

我希望在电子邮件地址中只允许一个符号,并且只包含(a-z,A-Z,下划线(_),点(。)和短划线( - ))。这就是我到目前为止所拥有的。 感谢

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

1 个答案:

答案 0 :(得分:-2)

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

function emailIsValid(email) { 
    var regex = /^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/;
    return regex.test(email);
}