正規表示式 Regular Expression: /…/
以 /…/ 包起 RE 的 pattern,/…/i 表示不區分大小寫。
用途:防呆處理,檢查字串格式,更改字串格式,挑出指定字串等等。
特殊字元:非文數字元,代表某種特殊規則的意義。可用脫逸字元 \ 取消其代表的意義。
/car/:找出所有”有包含car”的字串,如car, +car+等等。
\b:例如/\b字串\b/會比對完全符合指定字串的字串。
/^If/:找出”以IF開頭”的字串,如If, If+等等。
/new$/:找出”以new結尾”的字串,如new, +new等等。
[]:[]內裝字元集合,表示任一集合內的字元都可以。
/[Ff]ool/:表示Fool或fool都可以。
/[^abc]/:表示a, b, c任一字元都不可以。
*:*前接字元或集合,表示該字元或集合出現0次或多次都可以。
{}:表示前面的字元或集合出現的次數,{}內裝次數。
RE 函式: preg_match(), preg_match_all()
preg_match($pattern, $subject, $matches):在$subject中找到第一個符合$pattern的項目後就會結束比對,存放至$matches陣列。有找到回傳1,反之0。
preg_match(“/re/”, “report tree”, $match); // 找含re的
print_r($match); // 會找到 report 的 re
preg_match_all($pattern, $subject, $matches):在$subject中找到所有符合$pattern的項目,存放至$matches陣列。有找到回傳找到的數量。
preg_match_all("/re/", "report tree", $matches);
print_r($matches); // 會找到 report 和 tree 的 re
驗證email:/^[^@]+@[a-zA-Z0-9\._-]+\.[a-zA-Z]+$/
[a-zA-Z0-9\._-]+:a到z A到Z 0到9 ._- 的字元集合出現1次或多次
[a-zA-Z]+:a到z A到Z 的字元集合 出現1次或多次
驗證電話:/^([\(\)0-9\- ]){6,}$/
驗證身分證字號:/^[A-Z]{1}[1-2]{1}[0-9]{8}$/ 配上算數驗證