如何使用 C# 验证文本框中的“.”

本文关键字:文本 何使用 验证 | 更新日期: 2023-09-27 18:34:08

大家好,我正在尝试验证 winforms 中的文本框,该文本框将数据传递给包含 Int 作为参数的存储过程。我一直在寻找一个函数来检查输入中是否包含".",以便我可以向其添加一个警告框,但没有找到任何警告框。请问有人有什么建议吗?

如何使用 C# 验证文本框中的“.”

下面尝试将文本值转换为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');