我有一个文本框,用户可以按以下方式在其中输入数据。
例如1.2-2012-2
但它也可能是; 12.5-2010-4(强调第一部分)
我的第一个方法是 MaskedTextBox
但由于第一部分没有确定的大小,所以我不能使用它。
现在我想验证文本框。即我会让用户输入他/她想要输入的内容,但最后我想知道他/她是否以正确的方式输入。
例如如果用户键入 a12.4/2012^14(这是不正确的)我会知道。
我不知道如何将这个想法转化为代码,所以请有人指导我。
如果有替代方法。
最佳答案
我猜匹配的文本框无法匹配不一致的输入所以最好在这里使用正则表达式..
你可以使用这个正则表达式
^\d+(\.\d+)?-\d+-\d+$
然后你可以像这样检查输入
if(Regex.IsMatch(input,regex))
//valid
^
描述字符串的开始
\d
代表一个数字即 0-9
+
匹配前面的字符 1 到很多次..所以 \d+
会匹配 1 到很多位
?
匹配前面的字符 0 到 1 次。所以 (\.\d+)?
匹配 .
后跟 1 到许多数字可选
$
表示字符串结束
使用 ^
和 $
我们指定输入的开始和结束,否则它可以匹配中间的输入..
关于c# - 如何验证文本框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14664575/