php正則表達式email
Ⅰ 正則表達式如何驗證郵箱
1. php 郵箱驗證正則表達式:
preg_match("/^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[.])+[a-z]{2,4}$/i",$email );
如果需要更加完善、嚴格的驗證,修改這個正則表達式即可。
2. PHP 郵箱驗證正則表達式實例:
<?php
function isEmail($email){
if(preg_match("/^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[.])+[a-z]{2,4}$/i",$email )){
return '是郵箱';
} else{
return '不是郵箱';
}
}
?>
3. javascript(js) 郵箱驗證正則表達式:
myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,4}$/;
這個可以驗證 形如:[email protected] ,[email protected] 這槐襪種郵箱
4. Javascript(js) 郵箱驗證正則表達跡哪式實例:姿明碼
<script type="text/javascript">
function isEmail(val){
var myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,4}$/;
if(!myreg.test(val))
return '不是郵箱';
return '是郵箱';
};
alert( isEmail('[email protected]') );
</script>
Ⅱ 超常用的PHP正則表達式收集整理
以下就是對超常用的PHP正則表達式進行的收集整理,為了方便大家更快更好的掌握php正則表達式。
一、表單驗證匹配
驗證賬號,字母開頭,允許
5-16
位元組,允許字母數字下劃線:^[a-zA-Z][a-zA-Z0-9_]{4,15}$
驗證賬號,不能為空,不能有空格,只能是英文字母:^\S+[a-z
A-Z]$
驗證賬號,不能有空格,不能非數字:^\d+$
驗證用戶密碼,以字母開頭,長度在
6-18
之間:^[a-zA-Z]\w{5,17}$
驗證是否含有
^%&',;=?$\
等字元:[^%&',;=?$\x22]+
匹配Email地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配騰訊QQ號:[1-9][0-9]{4,}
匹配日期,只能是
2004-10-22
格式:^\d{4}\-\d{1,2}-\d{1,2}$
匹配國內電話號碼:^\d{3}-\d{8}|\d{4}-\d{7,8}$------------評註:匹配形式如010-12345678
或0571-12345678
或
0831-1234567
匹配中國郵政編碼:^[1-9]\d{5}(?!\d)$
匹配身份證:\d{14}(\d{4}|(\d{3}[xX])|\d{1})------------評註:中國的身份證為15
位或18
位
不能為空且二十位元組以上:^[\s|\S]{20,}$
二、字元匹配
匹配由
26
個英文字母組成的字元串:^[A-Za-z]+$
匹配由
26
個大寫英文字母組成的字元串:^[A-Z]+$
匹配由
26
個小寫英文字母組成的字元串:^[a-z]+$
匹配由數字和
26
個英文字母組成的字元串:^[A-Za-z0-9]+$
匹配由數字、26個英文字母或者下劃線組成的字元串:^\w+$
匹配空行:\n[\s|
]*\r
匹配任何內容:[\s\S]*
匹配中文字元:[\x80-\xff]+
或者
[\xa1-\xff]+
只能輸入漢字:^[\x80-\xff],{0,}$
匹配雙位元組字元(包括漢字在內):[^\x00-\xff]
三、匹配數字
只能輸入數字:^[0-9]*$
只能輸入n位的數字:^\d{n}$
只能輸入至少n位數字:^\d{n,}$
只能輸入m-n位的數字:^\d{m,n}$
匹配正整數:^[1-9]\d*$
匹配負整數:^-[1-9]\d*$
匹配整數:^-?[1-9]\d*$
匹配非負整數(正整數
+
0):^[1-9]\d*|0$
匹配非正整數(負整數
+
0):^-[1-9]\d*|0$
匹配正浮點數:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$
匹配負浮點數:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$
匹配浮點數:^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
匹配非負浮點數(正浮點數
+
0):^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
匹配非正浮點數(負浮點數
+
0):^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
四、其他
匹配HTML標記的正則表達式(無法匹配嵌套標簽):<(\S*?)[^>]*>.*?</\1>|<.*?
/>
匹配網址
URL
:[a-zA-z]+://[^\s]*
匹配
IP
地址:((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)
匹配完整域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?
提示
上述正則表達式通常都加了
^
與
$
來限定字元的起始和結束,如果需要匹配的內容包括在字元串當中,可能需要考慮去掉
^
和
$
限定符。
以上正則表達式僅供參考,使用時請檢驗後再使用,希望通過這些超常用的PHP正則表達式
Ⅲ 求正則表達式驗證郵箱格式
雖然沒有統一的郵箱賬號格式,但是所有郵箱都符合「名稱@域名」的規律。對於名稱和域名的字元限制,我們可以根據項目的情況定義一個,比如只允許有英文、數字、下劃線等組成。下面舉例實現一些驗證郵箱格式的正則表達式。
實例1:只允許英文字母、數字、下劃線、英文句號、以及中劃線組成
分析郵件名稱部分:
26個大小寫英文字母表示為a-zA-Z
數字表示為0-9
下劃線表示為_
中劃線表示為-
由於名稱是由若干個字母、數字、下劃線和中劃線組成,所以需要用到+表示多次出現,根據以上條件得出郵件名稱表達式:[a-zA-Z0-9_-]+
分析域名部分:一般域名的規律為「[N級域名][三級域名.]二級域名.頂級域名」,比如「qq.com」、「www.qq.com」、「mp.weixin.qq.com」、「12-34.com.cn」,分析可得域名類似「**.**.**.**」組成。
「**」部分可以表示為[a-zA-Z0-9_-]+
「.**」部分可以表示為.[a-zA-Z0-9_-]+
多個「.**」可以表示為(.[a-zA-Z0-9_-]+)+
綜上所述,域名部分可以表示為[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+
最終表達式: 由於郵箱的基本格式為「名稱@域名」,需要使用「^」匹配郵箱的開始部分,用「$」匹配郵箱結束部分以保證郵箱前後不能有其他字元,所以最終郵箱的正則表達式為:
^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$
實例2:名稱允許漢字、字母、數字,域名只允許英文域名
舉例:張三[email protected]
分析郵件名稱部分:
漢字在正則表示為[u4e00-u9fa5]
字母和數字表示為A-Za-z0-9
通過分析得出郵件名稱部分表達式為[A-Za-z0-9u4e00-u9fa5]+
分析郵件域名部分:郵件部分可以參考實例1中的分析域名部分。
得出域名部分的表達式為[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+。
最終表達式: 我們用@符號將郵箱的名稱和域名拼接起來,因此完整的郵箱表達式為 :
^[A-Za-z0-9u4e00-u9fa5]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$
Ⅳ php驗證郵箱格式
PHP正則表達式驗證郵箱示例如下:
<?php
$email='[email protected]';
$pattern="/([a-z0-9]*[-_.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?/i";
if(preg_match($pattern,$email)){
echo '郵箱驗證通過!';
} else{
echo '郵箱格式錯誤!';
}
?>
Ⅳ php正則表達式怎麼驗證郵箱格式
<?php
$mode="/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/";
$str="郵箱";
if(preg_match($mode,$str,$content)){
echo "輸入的郵箱有效";
}
else{
echo "您輸入的郵箱格式有誤";
die();
}
?>
Ⅵ PHP用正則表達式做注冊頁面
// 定義正則表達式
$username_pattern = "/^[a-zA-Z0-9_-]{3,16}$/"; // 用戶名必須是 3-16 位英文字母、數字、下劃線或短橫線
$password_pattern = "/^[a-zA-Z0-9_-]{6,18}$/"; // 密碼必須是派豎型 6-18 位英文字母、數字、下劃線或短橫線
$email_pattern = "/^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$/"; // 郵箱必須符合常規格式
// 獲取表單數據
$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];
// 驗證用戶名
if (!preg_match($username_pattern, $username)) {
echo "用戶名不合法";
exit;
}
// 驗證密碼塵猜
if (!preg_match($password_pattern, $password)) {
echo "密碼不合法";
exit;
}
// 驗證郵箱
if (!preg_match($email_pattern, $email)) {
echo "郵箱不合法";
exit;
}
// 如果所有表單數據都合法,就將數據纖老插入資料庫或執行其他操作
上述代碼中,使用了 PHP 的 preg_match 函數來進行正則表達式匹配。如果正則表達式匹配成功,函數返回 1,否則返回 0。通過判斷返回值來確定表單數據是否合法。
當然,這只是一個示例,具體的正則表達式和表單驗證邏輯需要根據實際情況進行調整。
Ⅶ 求php中郵箱地址正則表達式
$pattern = "/^([0-9A-Za-z\\-_\\.]+)@([0-9a-z]+\\.[a-z]{2,3}(\\.[a-z]{2})?)$/i";
if(preg_match($pattern,$email))
{
echo "郵箱正確";
}