正则表达式以验证分隔符分隔的数字

时间:2012-02-02 10:52:56

标签: c# regex asp.net-mvc-3

我需要一个正则表达式来验证带有这些值的表单的输入

例如:

123, 444,231, 2231 ...

该循环的正则表达式的最佳方法是什么?

4 个答案:

答案 0 :(得分:1)

如果我理解你的问题,你想匹配数字吗?

使用此:

([0-9]{1,}+){1,}

这将匹配每个值。

答案 1 :(得分:1)

我可以建议你以下。 ^(\s*\d+\s*,?)+$它考虑了CSV值的前导和尾随空格的可能性

修改

我修改了表达式,这里是新版本:^(\s*\d+\s*,)*(\s*\d+\s*){1}$在评论的情况下不会失败。

答案 2 :(得分:1)

([1-9]\d{2,3},\s*)  //first one digit 1-9, followed by 2 to 3 other digits,a comma and zero or one whitespace
{0,}            //This pattern may occour 0 or more times, followed by...
([1-9]\d{2,3})  // one of these number without the trailing comma, only once.

答案 3 :(得分:1)

要求的规范有点模糊,但这可能是你想要的:

^(\s*\d+\s*(?(?=,\s*\d),|))+$

它验证由“,”分隔的数字序列,允许前导和尾随白色字符,而不是以“,”开头和结尾