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

本文关键字:数字 格式 确保 验证 何验证 字符串 | 更新日期: 2023-09-27 17:57:33

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

我想确保这个条目是格式化的,所以它总是一个数字,然后是句号,然后是数字,然后又是句号,最后是数字(1.2.3)。有人能帮我确保点击提交按钮时是这样吗?

非常感谢。

如何验证字符串条目以确保其格式为';数字数字数字';(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+表示"行中有一个以上的数字可用",以及。意思是".",但必须以前导'' due to转义。在正则表达式中具有特殊含义。

更长的方法,不使用regex(我讨厌regex…只是品味问题,我知道我应该学习它们,并在适当的时候使用它们…)

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;
}