文字欄位的自訂驗證模式
A 文本域 它接受用戶輸入的任何內容——但有時您需要特定的格式。網站 URL、產品代碼、許可證號或僅包含字母的名稱都有其特定的格式規格。自訂驗證模式可讓您精確定義可接受的格式,從而在提交之前捕獲錯誤。
在本指南中,您將學習如何在 WordPress 表單的文字欄位中新增自訂驗證模式。
什麼是驗證模式?
這個概念
驗證模式是定義哪些輸入是有效的規則:
- “只能包含字母”
- “必須是有效的網址”
- “必須符合 ABC-1234 格式”
- “必須正好是10個字元”
他們如何工作
- 使用者在文字欄位中輸入內容
- 提交時(或輸入時),輸入內容會根據模式進行檢查。
- 如果匹配:驗證通過
- 如果失敗:顯示錯誤訊息
優勢
- 數據質量: 確保格式一致
- 錯誤預防: 儘早發現錯誤
- 使用者指南: 明確的期望
- 下游相容性: 數據與其他系統協同工作
內建驗證模式
自動表單產生器 包括常見模式:
| 信號模式 | 驗證 | 有效輸入範例 |
|---|---|---|
| 電子郵件 | 電子郵件地址格式 | [email protected] |
| 網址 | 網站網址 | https://example.com |
| 限字母 | 僅限亞利桑那州 | 約翰史密斯 |
| 僅限數字 | 僅限 0-9 | 12345 |
| 字母數字 | 字母和數字 | ABC123 |
| 定制配框 | 您自己的正規表示式模式 | (取決於模式) |
使用內建模式
步驟 1:新增文字字段
- 開啟您的表單 空軍基地
- 拖動 文本 形成領域
- 點選配置
步驟 2:選擇驗證模式
- 發現 驗證模式 在設定中
- 請從下拉式選單中選擇:
- 無(無規律)
- 電子郵件
- 網址
- 限字母
- 僅限數字
- 字母數字
- 定制配框
- 保存設置
步驟 3:測試驗證
- 預覽表單
- 嘗試輸入有效資訊—應該透過
- 嘗試輸入無效內容-應該會顯示錯誤
模式範例和用例
網址驗證
用於:
- 網站字段
- 投資組合連結
- 社交媒體資料
- 參考網址
有效範例:
- https://example.com
- http://www.example.com/page
- https://example.com/path?query=value
無效範例:
- example.com(缺少協議)
- www.example.com(缺少協議)
- 一些文字
限字母
用於:
- 名字/姓氏(簡單驗證)
- 城市名稱
- 國家代碼
- 字母標識符
有效範例:
- 約翰福音
- 史密斯
- 紐約
無效範例:
- John123
- 紐約(太空)
- 奧布萊恩(撇號)
請注意: 僅使用字母是嚴格的格式要求。請考慮是否需要空格、連字號或重音符號。
僅限數字
用於:
- 身份證號碼
- 帳號
- 數量(不使用數字欄位時)
- PIN碼
有效範例:
- 12345
- 00123
- 9876543210
無效範例:
- 123-456(連字號)
- 123.45(十進制)
- 12345A
字母數字
用於:
- 產品代碼
- 參考編號
- 用戶名
- 序列號
有效範例:
- ABC123
- User42
- 產品001
無效範例:
- ABC-123(連字號)
- ABC 123(空格)
- ABC_123(底線)
自訂驗證模式(正規表示式)
什麼是正則表達式?
正規表示式(regex)是描述文字格式的模式:
^= 字串的開頭$= 字串結束[A-Z]= 任何大寫字母[a-z]= 任何小寫字母[0-9]任意數字{3}= 正好是前 3 個{2,5}= 介於前 2 和 5 之間+一個或多個*= 零或多?= 可選(零或一)
建立自訂圖案
- 從驗證下拉式選單中選擇“自訂”
- 輸入您的正規表示式模式
- 使用各種輸入進行測試
常見自訂模式範例
美國郵遞區號
模式: ^\d{5}(-\d{4})?$
驗證:
- 12345(5 位數)
- 12345-6789(郵編+4)
拒絕:
- 1234(太短)
- 123456(太長)
- ABCDE(信)
美國電話號碼
模式: ^\d{3}-\d{3}-\d{4}$
驗證: 555-123-4567
靈活格式: ^\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}$
驗證:
- 555-123-4567
- (555) 123-4567
- 555.123.4567
- 555 123 4567
產品代碼(ABC-1234 格式)
模式: ^[A-Z]{3}-\d{4}$
驗證:
- ABC-1234
- XYZ-9999
- PRO-0001
拒絕:
- abc-1234(小寫)
- AB-1234(僅兩個字母)
- ABC1234(缺少連字號)
車牌(各種格式)
模式(美國通用): ^[A-Z0-9]{1,7}$
驗證: 1-7 個大寫字母/數字
信用卡(基本格式)
模式: ^\d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4}$
驗證:
- 1234567890123456
- 1234 5678 9012 3456
- 撥打 1234-5678-9012-3456
請注意: 對於實際支付,請使用具有驗證功能的正規支付處理商。
使用者名稱(字母、數字、底線)
模式: ^[a-zA-Z][a-zA-Z0-9_]{2,19}$
規則:
- 以字母開頭
- 總共 3-20 個字符
- 僅限字母、數字和底線
驗證: 使用者_123,JohnDoe,test42
十六進位顏色代碼
模式: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
驗證:
- #FF5733
- #fff
- #ABC123
日期(YYYY-MM-DD)
模式: ^\d{4}-\d{2}-\d{2}$
驗證: 2026-01-15
請注意: 對於日期,通常最好使用帶有日期選擇器的日期欄位。
時間(HH:MM 24 小時制)
模式: ^([01]\d|2[0-3]):[0-5]\d$
驗證:
- 09:30
- 14:45
- 23:59
發票號碼(INV-YYYY-NNNN)
模式: ^INV-\d{4}-\d{4}$
驗證:
- INV-2026-0001
- INV-2025-1234
美國社會安全號碼
模式: ^\d{3}-\d{2}-\d{4}$
驗證: 123-45-6789
警告: 收集社會安全號碼時要謹慎—涉及安全和隱私問題。
建立你自己的模式
循序漸進的過程
- 定義要求: 您需要什麼格式?
- 分解一下: 哪些角色?多少個?順序如何?
- 建構模式: 翻譯成正規表示式
- 徹底測試: 有效和無效輸入
- 寫入錯誤訊息: 幫助使用者理解格式
範例:員工編號
要求: 2 個字母 + 4 個數字 + 1 個字母(例如,AB1234C)
分解:
- 2 個大寫字母:
[A-Z]{2} - 4 位數字:
\d{4} - 1 個大寫字母:
[A-Z] - 前後均無:
^以及$
最終圖案: ^[A-Z]{2}\d{4}[A-Z]$
測試模式
使用前:
- 測試有效輸入(應該通過)
- 測試無效輸入(應該失敗)
- 測試邊界情況(邊界、特殊字元)
- 使用線上正規表示式測試工具進行除錯
驗證錯誤訊息
預設訊息
- 請輸入有效值
- “此欄位無效”
更好的自訂訊息
告知使用者預期格式:
| 信號模式 | 更清晰的錯誤訊息 |
|---|---|
| 郵政區號 | 請輸入有效的郵遞區號(例如,12345 或 12345-6789) |
| 电话 | 請輸入電話號碼:555-123-4567 |
| 產品編號 | “格式:ABC-1234(3個字母,連字符,4個數字)” |
| 使用者名稱 | “用戶名必須以字母開頭,長度為3-20個字符,僅限字母/數字/底線” |
使用佔位符和幫助文本
透過預先顯示格式來防止錯誤:
- 佔位符: “ABC-1234”
- 幫助文本: “請輸入您的產品代碼(例如,ABC-1234)”
最佳實踐
1.從簡單開始
盡可能使用內建模式。自訂正規表示式會增加複雜度。
2. 不要過度驗證
過於嚴格的模式會讓使用者感到沮喪:
- 帶有連字符的名字(Mary-Jane)
- 帶撇號的名字(O'Brien)
- 國際字符(José,Müller)
3. 顯示預期格式
始終告訴用戶你的期望:
- 範例佔位符
- 幫助文本解釋格式
- 清除錯誤訊息
4. 測試邊界情況
- 空輸入
- 開頭/結尾處的空格
- 特殊字符
- 最大長度
5.考慮替代方案
有時其他方法更好:
- 日期 → 使用日期字段
- 數字 → 使用數字字段
- 電話 → 使用格式為「電話」的字段
- 固定選項 → 使用下拉式選單
與其他驗證方法結合
圖案 + 必需
- 必須填寫此欄位並符合模式
- 空失敗“必需”
- 格式錯誤導致模式失敗
圖案 + 最小/最大長度
- 模式驗證格式
- 長度驗證尺寸
- 兩者都必須通過
故障排除模式
模式不起作用
檢查:
- 語法正確(無拼字錯誤)
- 特殊字元已正確轉義
- ^ 和 $ 錨點(如果需要)
有效輸入被拒絕
檢查:
- 模式可能過於嚴格
- 模式中缺少有效字符
- 區分大小寫問題
接受了無效輸入。
檢查:
- 圖案可能太鬆散
- 缺少錨點(^ 和 $)
- 使用更多範例進行測試
常見問題(FAQ)
我可以組合使用多種圖案嗎?
單一字段使用一個模式。對於複雜的驗證,可以使用交替符號 (|) 將多個要求合併到一個正規表示式中,或建立模式來符合所有要求。
模式區分大小寫嗎?
預設情況下,是的。使用 [A-Za-z] 可以同時匹配大小寫,或者如果支持,可以添加不區分大小寫的標誌。
如何允許空格?
在字元類別中加入 \s:[A-Za-z\s] 匹配字母和空格。
國際字符呢?
標準字母表 [A-Za-z] 不包含重音符號的字元。對於國際名稱,請考慮放寬驗證標準,或使用 \p{L}(如果支援)表示任何字母。
我應該在模糊狀態下驗證還是提交?
兩種方法都有效。模糊(失去焦點)時回饋更快。提交時則會捕獲所有變更。許多表單都同時支援這兩種方式。
摘要
新增自訂驗證模式:
- 選擇圖案類型 內建或自訂
- 配置模式 – 選擇或輸入正規表示式
- 新增佔位符 – 顯示預期格式
- 新增幫助文本 – 說明要求
- 設定錯誤訊息 指南修正
- 徹底測試 有效和無效輸入
結語
自訂驗證模式透過強制執行特定格式來確保資料品質。無論您需要驗證 URL、產品代碼還是自訂標識符,這些模式都能在提交前捕獲錯誤並引導使用者輸入正確的內容。
自動表單產生器 包含常用模式(電子郵件、URL、字母、數字、字母數字組合),並支援自訂正規表示式以滿足特殊驗證需求。乾淨的數據始於正確的驗證。
準備好驗證表單輸入了嗎? 下載自動表單產生器 並確保你的表單收集的資料格式正確。