php正則表示式簡單使用
阿新 • • 發佈:2021-01-19
PHP正則表示式函式和使用方法:點選查詢
正則表示式語法:點選查詢
------------------------------------
使用案例 - 匹配手機號:
<?php // "^"符號表示必須是1開頭; "[ ]"的意思是第二個數字必須是中括號中其中一個數字; 而 \d 則表示0-9任意數字,後跟{9}表示長度是要9個數字; 後面的$表示結尾 $pattern = '/^1[34578]\d{9}$/';//匹配模式 $subject = '19152451559';//要被匹配搜尋的原字元 preg_match($pattern, $subject, $matches); if ($matches) { echo '手機號正確'; }else{ echo '手機號錯誤'; } //preg_match函式搜尋成功返回1否則返回0,所以用這個函式直接判斷 ?>
使用案例 - 匹配使用者名稱:
<?php //規則:6-30位,可以是字母、數字、下劃線組合,字母開頭 //^表示開頭已經定義必須是字母開頭不分大小寫,元字元:\w 表示匹配字母、數字、下劃線。等價於[A-Za-z0-9_] $pattern = '/^[a-zA-Z]\w{5,29}$/';//規則 $subject = 'zhangsanfeng';//使用者輸入的使用者名稱 preg_match($pattern, $subject, $matches); if ($matches) { echo '使用者名稱可以註冊'; }else{ echo '使用者名稱必須6-30位,且字母開頭'; } //preg_match函式搜尋成功返回1否則返回0,所以用這個函式直接判斷 ?>
使用案例 - 獲取url地址部分:
<?php //規則:取出href裡面的連結地址 //括號括起來的部分會單獨保留一份,所以會產生兩組結果$pattern = '/<a href="(.+)">/';//匹配規則 $subject = '<li><a href="/html/html-tutorial.html">HTML</a></li>';//原字元 preg_match_all($pattern, $subject, $matches); var_dump($matches);//能匹配到兩組結果,包括括號內的一份,和單獨括號內的一份 ?>
使用案例 - 驗證郵箱格式:
<?php $pattern = '/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/';//正則 $email = '[email protected]'; $res = preg_match($pattern, $email); if ($res) { echo '郵箱格式正確'; }else{ echo '郵箱格式錯誤'; } //下面使用過濾器驗證方式 $email = '[email protected]'; if (filter_var($email,FILTER_VALIDATE_EMAIL)) { echo '郵箱格式正確'; }else{ echo '郵箱格式錯誤'; } ?>
小記:
未完待續....