Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说【转】MaskedTextBox总结,希望能够帮助你!!!。
MaskedTextBox总结 MaskedTextBox的Mask属性中的一些掩码及其效果,网上这方面的资源不多,找了一部分,总结如下(不包括VS自带的验证):IP地址:999.999.999.999注:如果嫌那个下划线不好看,则设置PromptChar为一个空格电话号码(例010-12345678): 000-00000000日期:0000年00月00日 或00/00/0000美国模式的日期:00->L<LL-0000注:日, 月份缩写, 年,其中的 3 个字母为首字母大写、后两个字母小写的月份缩写形式。电话号码:(999)-000-0000注:区号为可选项。如果用户不想输入可选字符,则可输入空格,也可以将鼠标指针直接放在掩码中由第一个 0 表示的位置。货币:$999,999.00注:0 到 999999 范围内的货币值。货币、千分位和小数点字符将在运行时由区域性特定的等效字符替代。掩码语言说明(相当于掩码的语法):
掩码元素 |
说明 |
正则表达式元素 |
0 |
0 到 9 之间的任何一个数字。必选项。 |
/d |
9 |
数字或空格。可选项。 |
[ /d]? |
# |
数字或空格。可选项。如果此位置在掩码中保留为空,它将显示为空格。允许使用加号 (+) 和减号 (-)。 |
[ /d+-]? |
L |
ASCII 字母。必选项。 |
[a-zA-Z] |
? |
ASCII 字母。可选项。 |
[a-zA-Z]? |
& |
字符。必选项。 |
[/p{Ll}/p{Lu}/p{Lt}/p{Lm}/p{Lo}] |
C |
字符。可选项。 |
[/p{Ll}/p{Lu}/p{Lt}/p{Lm}/p{Lo}]? |
A |
字母数字。可选项。 |
/W |
. |
相应于区域性的小数点占位符。 |
不可用。 |
, |
相应于区域性的千分位占位符。 |
不可用。 |
: |
相应于区域性的时间分隔符。 |
不可用。 |
/ |
相应于区域性的日期分隔符。 |
不可用。 |
$ |
相应于区域性的货币符号。 |
不可用。 |
< |
将后面的所有字符转换为小写。 |
不可用。 |
> |
将后面的所有字符转换为大写。 |
不可用。 |
| |
停止前面的大写转换或小写转换。 |
不可用。 |
/ |
对掩码字符进行转义,将它转换为原义字符。“//”是反斜杠的转义序列。 |
/ |
所有其他字符。 |
原义字符。所有非掩码元素将在 MaskedTextBox 中以原样显示。 |
所有其他字符。 |
默认情况下,小数点 (.)、千分位 (,)、时间 (:)、日期 (/) 和货币 ($) 符号按应用程序的区域性定义显示。可使用 FormatProvider 属性强制它们显示为其他区域性的符号。在C#的WinForm应用中一般是使用掩码进行输入控制。除了使用掩码,在ASP.NET环境下的验证控件可以使用正则表达式,32种验证方式的正则表达式在我的一篇《C#中验证控件的使用方法总结一》博文中有介绍。在上一篇的《一个JavaScript计算器》中JavaScript有这样的语法进行输入验证的,即直接用正则表达式对输入进行test,确实神奇一点,以前从来没用过,代码如下(核心处是我用五角星标出来的):
01 |
function addNumber(tok) |
09 |
token = inBuffer.slice(0,-1); |
11 |
token = inBuffer + tok.toString(); |
13 |
if (token.slice(0,1) == "." ) token = 0 + token; |
16 |
if (/^([/d]+(/.)?[/d]*)?$/.test(token)) |
21 |
return formatBuff(inBuffer); |
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。