当前位置: 首页 > 知识库问答 >
问题:

regex在C#中只允许一位数或两位数数字和逗号

汪跃
2023-03-14
            {
                Regex r = new Regex(@"^(\d+[,]\d*|\d*[,]\d+)$", RegexOptions.Compiled | RegexOptions.IgnoreCase); 
                if (r.IsMatch(sDate))
                {
business logic
}
}
else
{
//business logic
}

我需要知道哪里出错了。当我在字符串中输入字母表时,它甚至接受它。任何帮助都非常感谢。在这里输入代码在这里输入代码

共有1个答案

武成和
2023-03-14

若要匹配逗号可以在开头、结尾或中间的1或2个数字的可选重复,可以使用:

^,?\d\d?(?:,\d\d?)*,?$
  • ^字符串开始
  • ,?\d\d?匹配可选逗号、数字和可选数字
  • (?:,\d\d?)*匹配逗号、数字和可选数字的0个或更多重复
  • ,?匹配可选逗号
  • $字符串结尾

参见regex演示

 类似资料:
  • 我正在工作的一个regex只允许在逗号前最多10个数字和逗号后最多3个数字。 到目前为止,我已经想出了这个: 我将验证JavaScript中的输入。 以下示例可作为用户输入: 1234567890,123 4,1 234,45 56457 输入必须始终以自然数字开头,并且只能出现逗号。

  • 我有一个,我希望将用户的输入限制为纯粹的数字或小数点后2位以下的数字。 基本上,我要求一个价格输入。 我想避免做regex。有办法做吗?

  • 问题内容: 您是否知道确保用户只能输入最大小数位数的数字的任何方法。我不确定如何解决这个问题。在MS SQL数据库中,我将从应用程序中发送数据,我得到了具有这种类型的列。 现在考虑最终要存储要在Android中验证的值的列的数据类型,我已经考虑了这些两种情况: 如果用户输入不带小数的数字,则最大位数必须为8 如果用户输入带小数的数字,则最大位数必须为8(包括小数点右边的数字) 现在,我可以确定第一

  • 问题内容: 我有一个,我想将用户的输入限制为纯数字或带小数的数字(最多2个小数位)。 基本上,我要输入价格。 我想避免做正则表达式。有办法吗? 问题答案: 代替允许使用小数位数的,而使用允许最多两位的小数。

  • 我有一个,我希望将用户的输入限制为纯数字或小数最多2位的数字。 基本上,我要求的是一个价格输入。 我想避免做正则表达式。有办法做到吗?