| 片段 | 含義 |
|---|---|
^ | 字符串開頭 |
(?:w+.?)* | 非捕獲組:字母數字下劃線 w+ + 任意單字符 .?(含點、連字符等),重複 0 次或多次 |
w+ | 至少一個單詞字符(@ 前最後一段) |
@ | 字面 @ 符號 |
(?:w+.?)*w+ | 同前,匹配域名部分(如 mail.google.com) |
$ | 字符串結尾 |
w 不匹配連字符 -,導致 user@my-domain.com 失敗。.? 允許任意字符,過於寬鬆(如 a@b#c.com 也通過)。<input type="email"> 瀏覽器原生驗證。EmailValidator、JS validator.js、Go github.com/go-playground/validator。
3. 僅做「格式大致像郵箱」的快速攔截時,可用本正則;**嚴格業務請勿自寫正則**。
正則能攔 90% 亂輸入,但 100% 合規請交給專業庫。