正则表达式验证邮箱地址

邮箱@前缀的几种类型:

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-zd]+([-_.][A-Za-zd]+)*@([A-Za-zd]+[-.])+[A-Za-zd]{2,4}$ 

d:表示[0-9]

一个简单的js验证

<script>
  function checkEmail(str){
    var re = /^[A-Za-zd]+([-_.][A-Za-zd]+)*@([A-Za-zd]+[-.])+[A-Za-zd]{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);"/>
原文地址:https://www.cnblogs.com/stellar/p/5888163.html