Home > php教程 > PHP源码 > 比较正宗的验证邮箱的正则表达式js代码详解_正则表达式

比较正宗的验证邮箱的正则表达式js代码详解_正则表达式

PHP中文网
Release: 2016-05-25 17:07:49
Original
1685 people have browsed it

邮箱正则最正宗的一条正则语句是^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$ 下面我们来讲解一下

fuchangxi的正则:

代码如下:

/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/
Copy after login


开始必须是一个或者多个单词字符或者是-,加上@,然后又是一个或者多个单词字符或者是-。然后是点“.”和单词字符和-的组合,可以有一个或者多个组合。

代码如下:

<script type="text/javascript"> 
function isEmail(str){ 
var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/; 
return reg.test(str); 
} 
var str = &#39;test@hotmail.com&#39;; 
document.write(isEmail(str)+&#39;<br />&#39;); 
var str2 = &#39;test@sima.vip.com&#39;; 
document.write(isEmail(str2)+&#39;<br />&#39;); 
var str3 = &#39;te-st@qq.com.cn&#39;; 
document.write(isEmail(str3)+&#39;<br />&#39;); 
var str4 = &#39;te_st@sima.vip.com&#39;; 
document.write(isEmail(str4)+&#39;<br />&#39;); 
var str5 = &#39;te.._st@sima.vip.com&#39;; 
document.write(isEmail(str5)+&#39;<br />&#39;); 
</script>
Copy after login


我不太了解邮箱的具体规则。感觉这个正则比较简单

统计一下邮箱@前缀的几种类型

1、纯数字
比如:123456@jb51.net
2、纯字母
3、字母数字混合
4、带点的
比如:web.blue@jb51.net
5、带下划线
比如:web_blue@jb51.net
6、带连接线
比如:web-blue@jb51.net
邮箱域至少有一个“.”和两个单词,再严格点那么最后的顶级域至少要2个字母,最大呢?以域名“name”为准,那么最大就是4,宽松点就设为5吧^_^。

当然以上不可能的情况:以“_”或“-”开头或者结尾,包含特殊符号的。
因此,我给出的正则表达式如下:

^[A-Za-zd]+([-_.][A-Za-zd]+)*@([A-Za-zd]+[-.])+[A-Za-zd]{2,5}$

代码如下:

<script type="text/javascript"> 
fChkMail=function(szMail){ 
var szReg=/^[A-Za-zd]+([-_.][A-Za-zd]+)*@([A-Za-zd]+[-.])+[A-Za-zd]{2,5}$/; 
var bChk=szReg.test(szMail); 
return bChk; 
} 
</script> 
<input type="text" id="Mail" value="" /> 
<input type="button" value="验证邮箱地址" onclick="alert(fChkMail(document.getElementById(&#39;Mail&#39;).value));" /> 
<p>邮箱不能以 - _ .以及其它特殊字符开头和结束</p> 
<p>邮箱域名结尾为2~5个字母,比如cn、com、name</p>
Copy after login


Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template