15 個最常用的正則表達式:開發者必備的 Pattern 集合
在日常開發中,有些正則表達式會反覆使用。本文整理了 15 個最實用的正則表達式 Pattern,涵蓋表單驗證、資料提取和文字處理等常見場景。
表單驗證類
1. Email 地址驗證
Pattern: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
這是一個平衡了準確性和實用性的 Email 驗證 Pattern。完全符合 RFC 5322 的正則表達式過於複雜,不適合實際應用。
2. URL 驗證
Pattern: ^https?:\/\/[\w.-]+(?:\.[\w.-]+)+[\w.,@?^=%&:/~+#-]*$
3. 密碼強度驗證
至少 8 個字元,包含大小寫字母和數字:^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$
4. 台灣手機號碼
Pattern: ^09\d{8}$
5. 台灣身分證字號
Pattern: ^[A-Z]\d{9}$(基本格式驗證)
資料提取類
6. IPv4 地址
Pattern: ^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.?){4}$
7. HTML 標籤提取
Pattern: <([a-z]+)[^>]*>(.*?)<\/\1>
8. 日期格式 (YYYY-MM-DD)
Pattern: ^\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])$
9. 十六進位色碼
Pattern: ^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$
10. 信用卡號碼(基本格式)
Pattern: ^\d{4}[- ]?\d{4}[- ]?\d{4}[- ]?\d{4}$
文字處理類
11. 移除多餘空白
Pattern: \s+(替換為單個空格)
12. 提取括號內容
Pattern: \(([^)]+)\)
13. 中文字元比對
Pattern: [\u4e00-\u9fff]
14. 檔案副檔名提取
Pattern: \.([a-zA-Z0-9]+)$
15. 移除 HTML 標籤
Pattern: <[^>]*>(替換為空字串)
重要提醒:正則表達式可用於基本的格式驗證,但不應該作為唯一的安全驗證手段。對於 Email、URL 等資料,建議結合後端驗證和專用的驗證函式庫。
在線測試你的 Pattern
使用我們的正則表達式測試工具,即時測試並除錯你的 Pattern:
立即使用正則表達式測試工具 →參考文獻
- OWASP Foundation. "Input Validation Cheat Sheet." OWASP Cheat Sheet Series. https://cheatsheetseries.owasp.org/cheatsheets/Input_Validation_Cheat_Sheet.html
- Resnick, P. "Internet Message Format." IETF RFC 5322, 2008. https://datatracker.ietf.org/doc/html/rfc5322
- Berners-Lee, T. et al. "Uniform Resource Identifier (URI): Generic Syntax." IETF RFC 3986, 2005. https://datatracker.ietf.org/doc/html/rfc3986