首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi MaskEdit 遮罩編輯框詳解:輸入格式符號、三段式遮罩與車牌/郵遞區號實作

     編輯:Delphi

強制格式化輸入的利器:TMaskEdit 深度應用

TMaskEdit 透過 EditMask 屬性定義嚴格輸入格式,適用於日期、電話、車牌、身分證字號等固定格式欄位,避免使用者輸入錯誤格式資料。

遮罩編輯對話框與三段式結構

雙擊 EditMask 屬性彈出設計對話框,遮罩格式採三段式,以分號 ; 分隔:

第一段;第二段;第三段
範例:!>LL/000000;1;_

第一段:輸入格式掩碼(核心)

格式符意義範例
L必須輸入字母LL = 兩個大寫字母
l可選字母(可用方向鍵跳過)
A必須輸入字母或數字AA = 兩個英數字元
a可選字母或數字
C必須輸入字母CC = 兩個字母
c可選字母
0必須輸入數字000000 = 六位數字
9可選數字
#可選數字或正負號
>後續字母轉大寫(直到 < 或 <>)>LL 強制大寫
<後續字母轉小寫<ll 強制小寫
<>不轉換大小寫,保持輸入原貌
\跳脫字元,下一字元視為字面常值\A 顯示字面 A
!前導空格不儲存(無 ! 則尾部空格不儲存),只能置於最前!999
; /標準分隔符(/ 顯示為 -)LL/0000 → AB-1234

第二段:儲存選項

  • 1:包含非使用者輸入字元(分隔符、固定字元)儲存為資料一部分
  • 0:僅儲存使用者實際輸入字元

第三段:空白佔位符

  • 指定編輯框空白位置顯示字元,常用 _ 或空格

實戰範例

車牌號碼:CA-300019(前兩碼大寫字母、分隔符、六位數字)

!>LL/000000;1;_
  • !:前導空格不存
  • >LL:強制兩碼大寫字母
  • /:分隔符顯示為 -,1 表示儲存分隔符
  • 000000:六位必填數字
  • _:空白顯示底線

郵遞區號:PO-100083(固定前綴 PO、分隔符、六位數字)

!PO/000000;1;_

固定字元 PO 直接寫入掩碼,使用者無法修改。

對話框輔助功能

  • Sample Masks:內建電話、日期、社安號等預設格式,可直接選用微調
  • Test Input:即時測試輸入體驗,驗證格式是否符合預期

善用 TMaskEdit 可在 UI 層直接攔截格式錯誤,減少後端驗證邏輯,提升資料品質與使用者體驗。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved