Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
文本掩码c#_C#_Masking - Fatal编程技术网

文本掩码c#

文本掩码c#,c#,masking,C#,Masking,我需要向我的一个类验证某个属性。当我设置属性时,类应该验证输入,如果不正确,则将对象设置为无效状态 问题:属性值必须采用特定的掩码/格式,例如&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&。我不能使用正则表达式。是否可以根据掩码值验证文本 谢谢 是否可以验证文本 相对于掩码值 当然,这是可能的,因为您可以编写一个函数来获取字符串和掩码,并相互检查 所以我不清楚你在问什么-你是在问标准的.Net库中是否有函数

我需要向我的一个类验证某个属性。当我设置属性时,类应该验证输入,如果不正确,则将对象设置为无效状态


问题:属性值必须采用特定的掩码/格式,例如&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&。我不能使用正则表达式。是否可以根据掩码值验证文本

谢谢

是否可以验证文本 相对于掩码值

当然,这是可能的,因为您可以编写一个函数来获取字符串和掩码,并相互检查

所以我不清楚你在问什么-你是在问标准的.Net库中是否有函数可以做到这一点?或者要求实现掩码验证功能?还是别的什么


如果您正在库中寻找帮助,您可能会这样做,尽管这有些过分。

正则表达式经常被过度使用,但这是一个非常好的例子,说明正则表达式何时是理想的。。。那么:为什么不能在这里使用它们呢?

没有regexp,您必须编写自己的验证代码来检查掩码。

我不能使用正则表达式。为什么不能?我能看到的唯一原因是这是一个家庭作业问题。问题是,我将属性的格式存储在db中(无论是掩码还是正则表达式字符串)。gui控件和bo验证需要重新验证此格式。如果控件可以使用正则表达式,那就很好了。我的问题是,是否有内置的.net功能来获取字符串并根据掩码验证它?我编辑了我的答案,添加了一个指向(而不是您真正需要的)函数的指针。感谢paul-问题是,我将属性的格式存储在db中(无论是掩码还是正则表达式字符串)。gui控件和bo验证需要重新验证此格式。如果控件可以使用正则表达式,那就可以了…控件不能使用正则表达式??您的GUI是用什么编写的?看看MaskedTextBox,听起来它可能完全按照您的要求执行。我的业务对象通过属性将格式/掩码返回到ui。然后,ui中的控件根据该格式进行验证。但我也希望我的BO中有我的验证规则。因此,我希望ui控件和BO使用格式/maks进行验证。这有用吗?这并不能解释为什么不能使用正则表达式。您可能需要编写一个小函数来将掩码转换为正则表达式字符串。@Shaun-您可以存储2个掩码(一个正则表达式,一个用于UI)-这并不理想。或者,只需让UI询问BO属性是否有效——IDataErrorInfo可以做到这一点,并且自动支持像这样的控件DataGridView@Shaun-GeekyMonkey的想法是通过简单的翻译将(通常更简单的)UI掩码转换为正则表达式,这是一个很好的想法。我喜欢翻译功能。听起来不错。我看看我能做些什么。