javascript邮箱验证问题

来源:百度知道 编辑:UC知道 时间:2024/06/01 15:09:15
if(mail.length==0)
{
alert("电子邮件不能为空!");
return;
}
if(mail.indexOf("@")==-1)
{
alert("邮箱名必须包含@");
return;
}
if(mail.lastIndexOf(".")==-1)
{
alert("邮箱名必须包含.");
return;
}
(2)邮箱中"."必须在"@"之后
(3)"@"和"."不能紧贴
(4)"@"和"."不能重复
怎么写啊??
就是不想用用正则这个办法来解决了- -
第二个的答案也不对
正确的是:
if(mail.indexOf("@")> mail.indexOf("."))
{
alert('"."不能在"@"之前');
return;
}
if(mail.indexOf("@")!=mail.lastIndexOf("@"))
{
alert('不能有2个"@"');
return;
}
if(mail.indexOf(".")!=mail.lastIndexOf("."))
{
alert('不能有2个"."');
return

可以用正则来解决,但是比较容易的办法是把邮箱分成三个输入框
中间@和.为固定的

正则:/^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/.test(mail.value)

function checkEmail(){
var mail = document.all.email.value;
if(mail.length==0)
{
alert("电子邮件不能为空!");
return;
}
var atIndex = mail.indexOf("@");
if(atIndex==-1)
{
alert("邮箱名必须包含@");
return;
}
var dotIndex = mail.lastIndexOf(".");
if(dotIndex==-1)
{
alert("邮箱名必须包含.");
return;
}
if(dotIndex - mail.length == -1){
alert('邮箱不能以"."结尾');
}
if(mail.indexOf("..") != -1 || mail.indexOf("@@") != -1){
alert('"@"和"."不能重复.');
return;
}
if(mail.ind