-2

我正在尝试为 RegularExpressionValidator 控件编写一个正则表达式,该控件将允许具有以下条件的小数或整数:

  • 不能为负数和零。

  • 包括可选小数点在内的最大字符串长度为 3 个字符,如果只输入整数,则为 2 个字符

  • 最大小数位数为 1

所以这些都很好......

0.1,
0.9,
9.0,
9.1,
2,
34

这些很糟糕......

 0,
-0,
-1,
-0.1,
.1,
.34,
 9.01,
 9.12,
345

你能帮帮我吗?我查看了很多正则表达式样本,但无法构建符合上述条件的正确样本。

4

2 回答 2

1

使用以下正则表达式:

^(\d{1,2}\.?|\d\.\d)$

第一种选择允许带有可选小数点的 2 位整数,第二种允许数字后跟 1 个小数位。

如果它通过了此验证,则对其进行测试:

[^0]

以确保它不为零。

于 2013-08-27T06:36:59.787 回答
0

我已经尝试并提出了下面的正则表达式......它满足了问题中提到的所有好值和坏值。

^(([1-9])|([0-9][1-9])|([1-9][0-9])|([0-9][.][1-9])|([1-9][.][0-9]))$

我对正则表达式知之甚少,查看上面写的一些样本发现工作正常。请让我知道您对此的反馈,上面的正则表达式是否可以以这种方式编写,是否有任何性能问题以及是否有其他问题。

于 2013-08-27T07:15:03.217 回答