【发布时间】:2014-04-08 11:27:13
【问题描述】:
我目前正在使用以下正则表达式来测试电子邮件地址是否有效:
/[0-9a-zA-Z.+_]+@[-0-9a-zA-Z.+_]+\.[a-zA-Z]{2,4}/
这适用于大多数电子邮件地址,例如在电子邮件地址的最后一部分使用@符号的电子邮件地址,例如:email@address.co@m 将给出有效的电子邮件地址结果.
有谁知道如何解决这个问题?
【问题讨论】:
标签: javascript regex
我目前正在使用以下正则表达式来测试电子邮件地址是否有效:
/[0-9a-zA-Z.+_]+@[-0-9a-zA-Z.+_]+\.[a-zA-Z]{2,4}/
这适用于大多数电子邮件地址,例如在电子邮件地址的最后一部分使用@符号的电子邮件地址,例如:email@address.co@m 将给出有效的电子邮件地址结果.
有谁知道如何解决这个问题?
【问题讨论】:
标签: javascript regex
只需在开头添加^,在末尾添加$:
/^[0-9a-zA-Z.+_]+@[-0-9a-zA-Z.+_]+\.[a-zA-Z]{2,4}$/
这确保字符串必须以第一个匹配开始,必须以最后一个匹配结束。
email@address.co@m 匹配 email@address.co,因为这些都没有设置。
【讨论】:
试试这个代码
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;
}
【讨论】: