C# 如何验证字符串条目以确保其格式为';数字。数字。数字';(1.2.3)

C# 如何验证字符串条目以确保其格式为';数字。数字。数字';(1.2.3),c#,string,validation,C#,String,Validation,我有一个创建发布的系统,我必须通过文本框给出发布版本。它存储在我的数据库中的字段是一个nvarchar,因此是一个字符串 我想确保此条目的格式始终是数字,然后是句号,然后是数字,然后是句号,然后是数字(1.2.3)。有人能帮我确认一下点击提交按钮的情况吗 非常感谢。通过使用RegEx,您可以验证您的输入。我假设数字是指一位数字: string text = "1.2.3"; bool isValid = Regex.IsMatch(text, "^\\d\\.\\d\\.\\d$"); 如果要

我有一个创建发布的系统,我必须通过文本框给出发布版本。它存储在我的数据库中的字段是一个nvarchar,因此是一个字符串

我想确保此条目的格式始终是数字,然后是句号,然后是数字,然后是句号,然后是数字(1.2.3)。有人能帮我确认一下点击提交按钮的情况吗


非常感谢。

通过使用RegEx,您可以验证您的输入。我假设数字是指一位数字:

string text = "1.2.3";
bool isValid = Regex.IsMatch(text, "^\\d\\.\\d\\.\\d$");
如果要验证一个或多个数字,必须添加
+

string text = "12.23.34";
bool isValid = Regex.IsMatch(text, "^\\d+\\.\\d+\\.\\d+$");
使用正则表达式:

^\d+\.\d+\.\d+$
^表示开始,$表示结束,
\d+表示“行中有多个数字可用”,并且。表示“.”,但必须用前导\转义,原因是。在正则表达式中有特殊的含义。

更长的方式,不使用正则表达式(我讨厌正则表达式…只是口味的问题,我知道我应该学习它们,并在适当的时候使用它们…)


对于这一点,像\d\.\d\.\d这样的正则表达式将是一个可能的解决方案。
^[0-9]+(\[0-9]+){2}$
模式(正则表达式)有许多方法可以检查正则表达式、String.Format函数等。。你自己到底试过什么。。?
bool IsInputValid(string input)
{
    string[] values = input.Split('.');
    if (values.Length != 3)
        return false;
    int tmp = 0;
    foreach (string s in values)
        if (!int.TryParse(s, out tmp))
            return false;
    return true;
}