JavaScript Regular Expression

常用驗證

信用卡號:測試連結
\d{4}-?\d{4}-?\d{4}-?\d{4}

手機及電話號碼(含分機):測試連結
\d{2,4}-?\d{3,4}-?\d{3,4}#?(\d+)?

Email:測試連結
\([^.][a-z].?[a-z.]+)@(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,})

統一發票:測試連結
\^[a-zA-Z]{2}[-]?[0-9]{8}$

工具網站 https://regex101.com/ :可以很快驗證你的正規表達式。

特殊字元的使用

Single-Characters

\d0-9
\wA-Z, a-z, 0-9
\Wnot A-Z, a-z, 0-9
\swhite-space
\Snot white-space
.代表除了換行符號 (\n) 以外的任一字元。如果要包括換行符號, 請使用 [\s\S]。

Quantifiers

*0 或 更多
+ 1 或 更多
? 0 或 1
{min, max} 重複 min 到 max 次
{n} 重複 n 次

Position

^開始
$結尾
\b在邊界的字元

Character Class [ ]

[abc]抓單一個字元: a, b, or c
-[-.] 如果 - 是第一個字元,後面的 . 會是實字元 . ,而不是代表任何字元。如果是[a-z]代表 a 到 z。
^[^abc] 代表不是 a,b 或 c。[a^bc] 代表 a 或 b, c

Alternation ( )

(...)括住一群字元,將之視成一個集合, 通常用來集合表示多個檢核式。例如 (com|net)

 

詳細說明連結:MDN 正規表達式模式的編寫