我目前正在使用以下正则表达式来测试电子邮件地址是否有效:
/[0-9a-zA-Z.+_]+@[-0-9a-zA-Z.+_]+\.[a-zA-Z]{2,4}/
对于电子邮件地址的最后一部分使用@ -sign的大多数电子邮件地址执行程序都可以正常工作,例如:email @ address.co @m将提供有效的电子邮件地址结果
有谁知道如何解决这个问题?
答案 0 :(得分:2)
只需将^
添加到开头,将$
添加到结尾:
/^[0-9a-zA-Z.+_]+@[-0-9a-zA-Z.+_]+\.[a-zA-Z]{2,4}$/
这可确保字符串必须以第一个匹配开头,必须以最后一个匹配结束。
email@address.co@m
匹配email@address.co
,因为这些未设置。
答案 1 :(得分:1)
试试此代码
var x=document.forms["myForm"]["email"].value;
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if(atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
{
alert("Invalid Email Id");
flag=1;
}
答案 2 :(得分:-1)