我正在尝试验证我的文本框控件,它应该包含一个介于1和无穷大之间的数字(它不能是0或负数)。
我想在c#中使用regularexpressionvalidator
,因为rangevalidator
在我不想要的时候会要求最大数量。
我希望是否有人可以帮助我创建一个正则表达式来检查一个和无穷大之间的数字。
我在网上搜索过,我发现的封闭内容是{1,}
,但这会导致parsing "{1,}" - Quantifier {x,y} following nothing
错误。不太注意正则表达式,但希望有人能帮我找到答案。
答案 0 :(得分:7)
如果您只需要一个整数,
[1-9][0-9]*
应该让你满意。这是“一个非零数字,后跟任意数字的数字”。
如果您不想拒绝,例如04546
,类似
0*[1-9][0-9]*
应该这样做。 (与上面相同,前面有零个或多个零。)
答案 1 :(得分:4)
这样就可以了:
[1-9][0-9]*
一个或多个数字,不包括0。
答案 2 :(得分:1)
您应该将CompareValidator
与ValueToCompare=0
和Operator="GreaterThan"
一起使用。
您还可以使用compareValidator
检查号码是否为整数,Operator="DataTypeCheck"
答案 3 :(得分:1)
假设一个类似
的整数[1-9] [0-9] *
应该没问题