国产探花免费观看_亚洲丰满少妇自慰呻吟_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 次

$:匹配輸入的結尾.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 城市| 牙克石市| 兰溪市| 邵东县| 嫩江县| 陇西县| 古田县| 贡嘎县| 电白县| 达尔| 合江县| 无棣县| 柳江县| 改则县| 定日县| 凤山县| 山西省| 昌邑市| 辉县市| 泾源县| 申扎县| 锦屏县| 仁寿县| 读书| 太仆寺旗| 甘南县| 柳州市| 邮箱| 商河县| 岳池县| 崇明县| 新宾| 枣庄市| 重庆市| 托里县| 绥滨县| 霍州市| 安义县| 绍兴县| 上犹县| 平舆县|