js中用正则表达式验证邮箱地址。如果用:
/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])/
当输入:abc@163的时候,它会提示邮箱格式不对,但是当输入:abc@163163163这个时候它会当作正常的邮箱格式了。不知道为什么?
改成下面这个表达式,没有发现类似的问题。
=/^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$/;
顺便把我的验证函数完整的贴上来,以方便后来者 。
<script language=Javascript>
function verifyAddress(obj)
{
var email = obj.email.value;
var pattern =/^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$/;
flag = pattern.test(email);
return flag;
}
</script>
//obj是form变量