# 正規表示法範例
# 資料來源
- 37 Tested PHP, Perl, and JavaScript Regular Expressions (opens new window)
- 常用正則表達式範例 (opens new window)
- Sample Regular Expressions (opens new window)
# 好文
- [正規式] 複習 (?😃 (?=) (?!) 的使用 (opens new window)
- Linux grep 基礎正規表示法, 鳥哥 (opens new window)
- Comparison of regular expression engines (opens new window)
- 正規表示式 wiki (opens new window)
- http://regexlib.com/ (opens new window)
# 範例
主流信用卡
/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6011[0-9]{12}|622((12[6-9]|1[3-9][0-9])|([2-8][0-9][0-9])|(9(([0-1][0-9])|(2[0-5]))))[0-9]{10}|64[4-9][0-9]{13}|65[0-9]{14}|3(?:0[0-5]|[68][0-9])[0-9]{11}|3[47][0-9]{13})*$/
美國運通信用卡
/^(3[47][0-9]{13})*$/
MasterCard
/^(5[1-5][0-9]{14})*$/
Visa 卡
/^(4[0-9]{12}(?:[0-9]{3})?)*$/
日期 (MM/DD/YYYY)
/^((0?[1-9]|1[012])[- /.](0?[1-9]|[12][0-9]|3[01])[- /.](19|20)?[0-9]{2})*$/
日期 (YYYY/MM/DD)
/^(((?:19|20)[0-9]{2})[- /.](0?[1-9]|1[012])[- /.](0?[1-9]|[12][0-9]|3[01]))*$/
電子郵件 以下的範例並沒有相容 RFC5322 規範,但是已經可以驗證大多數的電子郵件。
/^([a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4})*$/
IPv4
/^((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$/
密碼 高強度密碼,6 位數以上,並且至少包含 大寫字母、小寫字母、數字、符號 各一
/^(?=.*[^a-zA-Z0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*\d).{6,}$/
台灣手機號碼
/^09\d{2}-?\d{3}-?\d{3}$/
URL 網址 允許 http, https, ftp 協定,並且可取出
Protocol
,Domain
,Path
,Query
/^(?:(https?|ftp):\/\/)?((?:[a-zA-Z0-9.\-]+\.)+(?:[a-zA-Z0-9]{2,4}))((?:/[\w+=%&.~\-]*)*)\??([\w+=%&.~\-]*)$/
取代重複行 搜尋:
/^(.*)(\n\1)+$/
取代:\1
中文 (Unicode)
[\u4e00-\u9fa5]
刪除空白行 搜尋:
/^\s*$/m
取代:刪除行首行尾空白 搜尋:
^\s*|\s*$
取代:驗證使用者帳號 第一個字不為數字,只接受 大小寫字母、數字及底線
/^[a-zA-Z]\w*$/
簡易驗證台灣身份證 仍然需要一些進階的檢查,如 驗證檢查碼,或前往 內政部戶政司 (opens new window) 驗證
/^[A-Za-z][1-2]\d{8}$/
正整數
/^\+?\d+$/
整數
/^[+-]?\d+$/
float
/^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$/