国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php email正則表達式詳解

2024-09-04 11:47:26
字體:
來源:轉載
供稿:網友

一般的email,形如zhangshan@163.com,abc@sina.com.cn這樣一些常用的形式就行了,但是在我們公司的一些客戶中郵箱卻有一些zhangshna.Mr@163.com,abc_Wang.dd@sian.com,abc_Wang.dd.cc@sian.com這種類似的形式,在@符號之前還有點.,原來是拿來就用,可是現在就不行,得自己研究正則的用法了.

原來的正則表達式,代碼如下:

/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$/;

我根據我的實際情況修改后的正則表達式,代碼如下:

/^(w)+(.w+)*@(w)+((.w{2,3}){1,3})$/;

或者:/^(w)+(.w+)*@(w)+((.w+)+)$/;

首先從命名下手,以@劃分:

(1)左邊email前綴 ——字母、數字、下劃線、點和減號(只能以數字和字母開頭結尾)

(2)  右邊域名規則  ——字母、數字和減號(只能以數字和字母開頭結尾,并且不能超過63個字符)

好了規則有了,剩下的就是匹配了,希望能盡量做到不放過一個“壞人”,代碼如下:

左邊[a-zd]([a-zd_.-]*[a-zd])*@([a-zd][a-zd-]{0,61}[a-zd].){1,3}[a-z]{2,6}([.][a-z]{2,3})?右邊

拼起來加上^$i:/^[a-z0-9]([a-z0-9-_.]*[a-z0-9])*@([a-z0-9][a-z0-9-]{0,61}[a-z0-9].){1,3}[a-z]{2,6}([.][a-z]{2,6})?$/i 

我用PHP試了一下效果還不錯,就是在sql語句中用時還是會有些問題,不過已經基本滿足我的要求了.

字符描述:

^ :匹配輸入的開始位置。

:將下一個字符標記為特殊字符或字面值。

* :匹配前一個字符零次或幾次。

+ :匹配前一個字符一次或多次。

(pattern) 與模式匹配并記住匹配。

x|y:匹配 x 或 y。

[a-z]:表示某個范圍內的字符,與指定區間內的任何字符匹配。

w:與任何單詞字符匹配,包括下劃線。

{n,m} 最少匹配 n 次且最多匹配 m 次

$:匹配輸入的結尾.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 天水市| 浪卡子县| 长汀县| 稷山县| 宁海县| 泗水县| 志丹县| 杭锦后旗| 林州市| 邢台市| 福清市| 永德县| 宜宾县| 桓仁| 河东区| 依兰县| 察雅县| 宜黄县| 女性| 新乡县| 都江堰市| 蒙城县| 三穗县| 尚志市| 抚顺市| 淮滨县| 营山县| 田阳县| 安化县| 镇雄县| 眉山市| 湖北省| 都匀市| 灵璧县| 中牟县| 石棉县| 松潘县| 韶关市| 贵定县| 韶关市| 上饶县|