c# - 如何在 C# 中将正则表达式设置为 MaskedTextBox 的掩码?

标签 c# regex maskedtextbox

我想从 Regex 表达式设置 MaskedtextBox 的掩码。例如我想要针对 MaskedtextBox 的有效电子邮件、十进制值和其他正则表达式。

最佳答案

作为引用,这描述了您可以使用面具做什么: http://msdn.microsoft.com/en-us/library/system.windows.forms.maskedtextbox.mask(VS.90).aspx

我唯一能看到您需要从正则表达式设置掩码的情况是您无法控制正则表达式,例如,如果它是从用户或数据库中获取的。掩码的格式与正则表达式不同,也没有那么强大。所以有些时候,它甚至可能无法完成。据我所知,您根本无法验证带有掩码的电子邮件之类的内容,因为各个部分的位置和长度会发生变化。

不使用掩码,您可能应该只使用正则验证,然后您可以直接使用正则表达式。确保(常规的,未屏蔽的)文本框的 CausesValidation 属性为真,然后拦截验证事件,如果正则表达式不匹配,则将 CancelEventArgs.Cancel 设置为真。

关于c# - 如何在 C# 中将正则表达式设置为 MaskedTextBox 的掩码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3075534/

相关文章:

c# - InvalidCastException : Unable to cast object of type 'System.TimeSpan' to type 'System.Nullable` 1[System. 日期时间]'

Python 正则表达式不返回

javascript - 带有变量和 .Test() 的正则表达式

delphi - 有MaskEdit的 mask 引用吗?

c# - 如何使用后台 worker 将参数(字符串)发送到 UI 线程?

c# - 在 Powershell 中使用 C++CLI .dll 作为程序集

c# - Masked TextBox 如何不在文本框中显示下划线并允许用户输入 3 位数字

C# 如何让绑定(bind)的 datagridview 的 maskedtextbox 列不包含文字?

c# - 在大字符串中查找浮点

c# - 为什么反斜杠的这个替换不起作用?