正则表达式验证邮箱地址

邮箱@前缀的几种类型:

1、纯数字         123456@qq.com
2、纯字母      zhangsan@qq.com
3、字母数字混合   zhang123@qq.com
4、带点的      zhang.san@qq.com
5、带下划线     zhang_san@qq.com
6、带连接线     zhang-san@qq.com

 

邮箱@后缀的类型:

1、123456@qq.com

2、123456@vip.qq.com

*至少有两处单词

*顶级域名一般为2~4位(如cn、com、club)

 

默认前缀、后缀不以'_'、'-'、'.'结尾,所以正则可以写成:

^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$ 

\d:表示[0-9]

 

一个简单的js验证

<script>
  function checkEmail(str){
    var re = /^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$/; 
    if (re.test(str)) {
      alert("ok");
    } else {
      alert("nope");
    }
  }

</script> 
Email:<input type="text" id="mail" value=""/>
<input type="button" value="check" onclick="checkEmail(document.getElementById('mail').value);"/>

 

posted @ 2016-09-20 11:35  Hsinwang  阅读(136036)  评论(7编辑  收藏  举报