需要一个逗号分隔数字列表的正则表达式

kme*_*kle 1 regex csv validation asp.net-mvc-2

对于有经验的正则表达式编写者来说这应该是简单的,但我不会写太多,所以....

我想在C#MVC表单上的文本框上进行输入验证,可能使用javascript或jquery.

我想将输入限制为逗号分隔的整数列表.列表必须以数字> = 0开头,后跟逗号,然后重复此模式.该列表可能以逗号结尾也可能不以逗号结尾:

1,2,444,5, - 通行证

1,2,444,5 - 通过

,1,2,444,5, - 失败

,1,2,444,5 - 失败

1,2,4,4,5,5 - 失败

1,2,4,4,5,5 ,,,失败

我写了这个:^([0-99],?)+$并在regexlib.com测试它似乎工作,但测试人员返回2个匹配,我不知道这意味着什么.由于它在上面的失败案例中失败了,我认为它对于简单的输入验证是安全的.有更好的模式吗?

不太重要的问题:当范围为0-99时,为什么它允许444?

Voj*_*Vít 5

范围运算符仅用于指定ASCII字符的范围,而不是数字.试试这个:

^([0-9]+,?)+$