一个@在电子邮件地址

One @ in email address

本文关键字:电子邮件地址 一个      更新时间:2023-09-26

我希望在电子邮件地址中只允许一个@符号,并且只包含(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;
}

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

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