php email郵箱正則驗證

2021-09-07 02:16:00 字數 1231 閱讀 9928

國際網域名稱格式如下:

網域名稱由各國文字的特定字符集、英文本母、數字及「-」(即連字元或減號)任意組合而成, 但開頭及結尾均不能含有「-」,「-」不能連續出現 。 網域名稱中字母不分大小寫。網域名稱最長可達60個位元組(包括字尾.com、.net、.org等)。

/^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]([\.][a-z])?$/i;

/內容/i 構成乙個不區分大小寫的正規表示式;

^ 匹配開始

$ 匹配結束

[a-z] e-mail字首必需是乙個英文本母開頭

([a-z0-9]*[-_]?[a-z0-9]+)* 和_a_2、aaa11、_1_a_2匹配,和a1_、aaff_33a_、a__aa不匹配,如果是空字元,也是匹配的,*表示0個或者多個。

*表示0個或多個前面的字元.

[a-z0-9]* 匹配0個或多個英文本母或者數字

[-_]? 匹配0個或1「-」,因為「-」不能連續出現

[a-z0-9]+ 匹配1個或多個英文本母或者數字,因為「-」不能做為結尾

@ 必需有個有@

([a-z0-9]*[-_]?[a-z0-9]+)+ 見上面([a-z0-9]*[-_]?[a-z0-9]+)*解釋,但是不能為空,+表示乙個或者為多個。

[\.] 將特殊字元(.)當成普通字元

[a-z] 匹配2個至3個英文本母,一般為com或者net等.

([\.][a-z])? 匹配0個或者1個[\.][a-z](比如.cn等) 我不知道一般.com.cn最後部份是不是都是兩位的,如果不是請修改為

function checkemail($email

)   ([\.][a-z])?/i";

//preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)

return

preg_match($pregemail,$email

); }

開始的 ^ 和 結尾的 $ 表示 匹配輸入字串的開始位置和結尾位置

\w 匹配包括下劃線的任何單詞字元。等價於 a- z a - z 0-9 和 _ 的字元

[-+.] 字元集合。匹配所包含三個字元中的任意乙個字元

+ 匹配前面的子表示式至少一次,就是說他前面的字元 至少有 乙個

* 匹配前面的子表示式零次或多次

php email郵箱正則驗證

國際網域名稱格式如下 網域名稱由各國文字的特定字符集 英文本母 數字及 即連字元或減號 任意組合而成,但開頭及結尾均不能含有 不能連續出現 網域名稱中字母不分大小寫。網域名稱最長可達60個位元組 包括字尾.com net org等 a z a z0 9 a z0 9 a z0 9 a z0 9 a ...

PHP E mail郵箱正則

1.2.if ereg a z a z0 9 a z0 9 a z0 9 a z0 9 a z a z i email 4.else 7.國際網域名稱格式如下 網域名稱由各國文字的特定字符集 英文本母 數字及 即連字元或減號 任意組合而成,但開頭及結尾均不能含有 不能連續出現。網域名稱中字母不分大小...

mysql 郵箱校驗 JS郵箱驗證 正則驗證

輸入 function check a z0 9 正規表示式 var obj document.getelementbyid mazey 要驗證的物件 if obj.value else if reg.test obj.value else 1 length 2,長度。表示乙個表示式的組。匹配的字元...