# 正規表示法範例

# 資料來源

  1. 37 Tested PHP, Perl, and JavaScript Regular Expressions (opens new window)
  2. 常用正則表達式範例 (opens new window)
  3. Sample Regular Expressions (opens new window)

# 好文

  1. [正規式] 複習 (?😃 (?=) (?!) 的使用 (opens new window)
  2. Linux grep 基礎正規表示法, 鳥哥 (opens new window)
  3. Comparison of regular expression engines (opens new window)
  4. 正規表示式 wiki (opens new window)
  5. 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+=%&.~\-]*)$/ 2014-02-09_020151.png

  • 取代重複行 搜尋:/^(.*)(\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]+)?$/