c# - 如何验证文本框?

标签 c# winforms validation

我有一个文本框,用户可以按以下方式在其中输入数据。 例如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/

相关文章:

c# - 字符串未转换为整数

c# - 在控制台应用程序中以编程方式动态创建和导出 WPF Viewport3D 视觉对象

vb.net - 无法将字符串转换为类型 'Double'

c# - 标签在 OnDraw 事件中动态创建并可从 Visual Studio Designer 编辑

c# - 运行、终止和保持进程运行的正确方法

php - Laravel 4 - 如何验证多个字段的唯一性?

javascript - 如何使用 AJAX 传递 2 个值以与 PHP 进行比较

c# - 如何使用 C# 中的索引从 IEnumerable 集合中获取项目?

c# - Selenium webdriver c# 等待文本出现

validation - JAX RS 泽西模式验证