1. 程式人生 > 實用技巧 >php正則表示式簡單使用

php正則表示式簡單使用

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 '郵箱格式錯誤';
    }

 ?>

小記:

未完待續....