Javascript 电子邮件地址中有一个@

Javascript 电子邮件地址中有一个@,javascript,validation,Javascript,Validation,我希望在电子邮件地址中只允许有一个at标志,并且只包含(a-z、a-z、下划线(u)、点(.)和破折号(-)。这就是我目前所拥有的。 谢谢 var email=document.forms[“register”][“email”].value; var atpos=email.indexOf(“@”); var dotpos=email.lastIndexOf(“.”); 如果(atpos

我希望在电子邮件地址中只允许有一个at标志,并且只包含(a-z、a-z、下划线(u)、点(.)和破折号(-)。这就是我目前所拥有的。 谢谢

var email=document.forms[“register”][“email”].value;
var atpos=email.indexOf(“@”);
var dotpos=email.lastIndexOf(“.”);
如果(atpos<3 | | dotpos=email.length)
{                   
警告(“您没有输入有效的电子邮件地址,请检查错误并重新提交”);
返回false;
}

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

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

我有包含数字的电子邮件地址…检查此线程,
为什么要禁止我的@example的完美电子邮件地址。comIt比这复杂得多。你看,正则表达式可能要复杂得多,但必须在“它是否会验证世界上的每个电子邮件地址”和“我是否需要它才能如此准确”之间取得平衡。我提供的正则表达式是可以接受的,99%的时间都可以使用。但是,我知道有些人更喜欢更精确的解决方案,我确实指出,关于哪个正则表达式最好使用,有很多讨论。@Maloric是的,这已经被彻底讨论了很多次。这就是你被否决的原因。
function emailIsValid(email) { 
    var regex = /^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/;
    return regex.test(email);
}