Delphi 中的Additional页里有个Maskedit控件,它可以限制用户只能按照既定的输入格式输入,只需要在其EditMask属性进行一定的设置即可实现。
掩码格式可以分为三部分每个部分之间用分号“;”分开。
第一部分;第二部分;第三部分
其中,
第一部分是掩码本身,也就是数据输入格式。 在这一部分用一些特殊的格式符来表示应输入的字符类型及格式,常用的特殊格式符有:
!去掉输入数据开头的空格符
> 让输入数据的字母都变成大写,直到遇上掩码字符<
< 让输入数据的字母都变成小写,直到遇上掩码字符>
<> 不限制输入数据字母是大写或小写
\ 若在输入格式内加入某个特殊字符,只要在特殊字符的前面加上此掩码就可以。(其实不加也可以)
L 允许输入英文字母,而且一定要输入
l 允许输入英文字母,不一定要输入
A 允许输入英文字母和阿拉伯数字,一定要输入
a 允许输入英文字母和阿拉伯数字,不一定要输入
C 允许输入任何字符,一定要输入
c 允许输入任何字符,不一定要输入
0 允许输入阿拉伯数字,一定要输入
9 允许输入阿拉伯数字,不一定要输入
# 允许输入阿拉伯数字或正、负号字符
: (冒号)用来分隔时间数据中的时、分、秒
/ 用来分隔日期数据中的年、月、日
第二部分只有 0 和 1 两种选择。如为 1 ,则掩码中的非用户输入数据和标准分隔符等其它各种字符会作为数据的一部分保存;为 0 则不保存。
第三部分用于表示数据中的空位用哪个字符代替显示。
例如:我们要实现带区号的电话号码,那么可以
!\( 9999 \) 999999 ; 1 ;_
其中,
“! ”将前面的空格去掉。
“\( ”区号的左括号。因为括号是特殊字符,所以在前面加“\”,(其实不加也是可以的)。
“ 9999 ”,区号的 4 个号码,当然若改成“ 0000 ”,则用户一定要输入区号。
“\)”区号的右括号。
“ 999999 ”,电话的 6 个号码。
“;”第一部分和第二部分的分隔。
“ 1 ”将输入后的区号括号做为数据的一部分。若“ 0 ”,则括号不做为数据一部分,即得到的数据是区号和电话号码直接相连(没有括号)。
“;”第二部分和第三部分的分隔。
“_”等待用户输入时显示的字符。
最后控件的显示结果为:(____)______
又例如:时间可以为 ! 90 : 00 ; 1 ;_ ;IP地址可以为 ! 000 \. 000 \. 000 \. 000 ; 1 ;_
具体含义,大家自己去参照理解
|