请教一个JavaScript正则表达式的写法,谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/21 08:03:45
各位好,其实也就是一个javascript正则表达式在浏览器端难e-mail地址的正确性,我想在大家都知道的一个验证逻辑上再加一个不能出现两个或两个以后的连续的点号“.”
我无法把它们组合起来,我现在写法如下:
function isEmail(s)
{
var patrn=/^[a-zA-Z0-9_\-]{1,}@[a-zA-Z0-9_\-]{1,}\.[a-zA-Z0-9\.]{1,}[a-zA-Z]$/;
if(patrn.test(s))
{
patrn=/[\.]{2,}/;
if(!patrn.test(s))
return true;
else return false;
}
return false;
}

即如:test@test.com..cn也是不合法的
我只能用这种笨拙的方法来实现,请教大家,如何组合成一个正则表达式来解决,谢谢了先
谢谢各位:
pray_2008: 你的这个当输入test@test.com.cn.cn时通不过,即域名不能层级太多

/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
这个肯定可以用,我们项目就用这个。

<html>
<head>
<title></title>
<script language="javascript">
function checkEmail(){

var re=/^[A-Za-z_]+([\w-\.]+)([A-Za-z]+)@((\w[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})$/i;
var email=document.getElementById('emailid').value;
if(email!=null && email.length>0){
if(re.test(email))
{
alert("Thanks,你输入的Email合法!");
}
else
{
alert("Sorry,你输入的Email不合法!");
}
}
else
{
alert("请输入Email!");
}
}
</script>
</head>
<body>
<inp