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

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

PHP中文网
Freigeben: 2016-05-25 17:07:49
Original
1686 Leute haben es durchsucht

邮箱正则最正宗的一条正则语句是^[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_-])+/
Nach dem Login kopieren


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

代码如下:

<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>
Nach dem Login kopieren


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

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

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>
Nach dem Login kopieren


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage