我想从 Regex 表达式中设置 MaskedtextBox 的掩码。比如我想要一个针对 MaskedtextBox 的有效电子邮件、十进制值和其他正则表达式。
问问题
10682 次
1 回答
5
作为参考,这描述了您可以使用掩码做什么:http: //msdn.microsoft.com/en-us/library/system.windows.forms.maskedtextbox.mask (VS.90).aspx
我唯一能看到您需要从正则表达式设置掩码的情况是您无法控制正则表达式,例如,如果它是从用户或数据库获取的。掩码的格式与正则表达式不同,并且没有那么强大。所以有时候,它甚至可能无法完成。据我所知,您根本无法验证带有掩码的电子邮件之类的东西,因为各个部分的位置和长度会发生变化。
而不是使用掩码,您可能应该只使用正则验证,然后您可以直接使用正则表达式。确保(常规,未屏蔽)文本框的 CausesValidation 属性为 true,然后拦截 Validating 事件,如果正则表达式不匹配,请将 CancelEventArgs.Cancel 设置为 true。
于 2010-06-19T15:47:59.697 回答