如何使用 C# 验证文本框中的“.”
本文关键字:文本 何使用 验证 | 更新日期: 2023-09-27 18:34:08
大家好,我正在尝试验证 winforms 中的文本框,该文本框将数据传递给包含 Int 作为参数的存储过程。我一直在寻找一个函数来检查输入中是否包含".",以便我可以向其添加一个警告框,但没有找到任何警告框。请问有人有什么建议吗?
下面尝试将文本值转换为int
并检测错误。这样做的好处是,它不仅会检查无效字符,还会考虑最大值/最小值。
int result;
if (!Int32.TryParse(textBox.Text, out result))
{
// The textbox did not contain an int
}
如果您使用的是 WPF 或 ASP.NET 则可能需要查看"验证程序"以立即在 UI 中显示错误。对于此处的 WPF,此处 ASP.NET。
您可以简单地用contains
检查文本。
txt_input.Text.Contains(".")
并在 UI 需要时显示错误消息。
更新:
如果您使用的是 WPF,则可以自动完成此操作:我们如何在 wpf
好吧,在反对票之后,我将在 4 年后更新这个答案,并提供更好的解决方案。从某种意义上说,以前的解决方案将被忽略。
解决方案 1:
public bool IsNumber(string strToValidate)
{
return Regex.IsMatch(strToValidate, @"^[0-9]+$"); // Using Regex
}
解决方案 2:
public bool IsNumber(string strToValidate)
{
foreach (char c in strToValidate)
{
if (c < '0' || c > '9')
return false;
}
return true;
}
解决方案 3:只是为了使解决方案 2 成为一行:
bool isNumber = strToValidate.All(c => c >= '0' && c <= '9');