一到无穷正则表达式

问题描述 投票:0回答:5

我正在尝试验证我的文本框控件,该控件应包含 1 到无穷大之间的数字(不能是 0 或负数)。

我想在 C# 中使用

regularexpressionvalidator
,因为当我不希望有一个时,
rangevalidator
会要求最大数量。

我希望有人能帮助我创建一个正则表达式来检查一到无穷大之间的数字。

我在网上搜索过,发现关闭的东西是

{1,}
,但这会导致
parsing "{1,}" - Quantifier {x,y} following nothing
错误。对正则表达式不太了解,但希望有人能帮助我找到答案。

c# asp.net regex validation
5个回答
12
投票

如果您只需要一个整数,

[1-9][0-9]*

应该能让你满意。这就是“一个非零数字,后跟任意数量的数字”。

如果您不想拒绝,例如

04546
,类似

0*[1-9][0-9]*

应该这样做。 (与上面相同,前面有零个或多个零。)


4
投票

这样就可以了:

[1-9][0-9]*

一位或多位数字,不包括 0。


1
投票

您应该将

CompareValidator
ValueToCompare=0
Operator="GreaterThan"
一起使用。

您还可以使用

compareValidator
检查数字是否为整数,使用
Operator="DataTypeCheck"


1
投票

假设一个整数类似

[1-9][0-9]*

应该没问题


0
投票

我测试了“[1-9][0-9]*”,结果发现它匹配“1d”、“5h”等字符串。

所以,我用了这个,'^[1-9][0-9]*$',它只匹配从 1 到无穷大的整数。

© www.soinside.com 2019 - 2024. All rights reserved.