利用正則表達式驗證輸入控件的值。繼承 `BaseValidator` 所有屬性,另具關鍵屬性 ValidationExpression:設定用於比對的正則模式。
屬性視窗中點選 `ValidationExpression` 右側省略號,開啟「正則運算式編輯器」對話框,提供常用模式快速選取:
也可自行輸入自訂正則,編輯器支援即時測試輸入字串是否符合。
| 驗證項目 | 正則表達式 | 說明 |
|---|---|---|
| `^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$` | 基本郵件格式 | |
| 手機號碼 (台灣) | `^09\d{8}$` | 09 開頭 10 碼 |
| 身分證字號 | `^[A-Z]{1}[12]{1}\d{8}$` | 1 字母 + 1/2 + 8 數字 |
| 統一編號 | `^\d{8}$` | 8 碼數字 |
| 郵遞區號 (3+3) | `^\d{3}(\d{3})?$` | 3 或 6 碼 |
| 中文姓名 | `^[\u4e00-\u9fa5]{2,10}$` | 2-10 個中文字 |
| 英數字底線 (6-20) | `^[\w]{6,20}$` | 帳號常用規則 |
| 強密碼 (含大小寫數字特殊 8+) | `^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%]).{8,}$` | 正向先行斷言 |
| IPv4 位址 | `^((25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(25[0-5]|2[0-4]\d|[01]?\d?\d)$` | 0.0.0.0 - 255.255.255.255 |
| 日期 (YYYY-MM-DD) | `^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$` | 格式驗證,不檢查月份天數邏輯 |
<asp:TextBox ID="txtEmail" runat="server" />
<asp:RegularExpressionValidator
ID="revEmail"
runat="server"
ControlToValidate="txtEmail"
ValidationExpression="^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$"
ErrorMessage="Email 格式不正確"
Display="Dynamic"
CssClass="text-danger"
SetFocusOnError="true" />
`RegularExpressionValidator` 以聲明式方式實現強大的格式驗證,善用內建編輯器與常用模式庫,可快速建立健壯的輸入防護。配合驗證群組與伺服器端二次驗證,構建完整的輸入驗證體系。