RegEx for Integer&浮动

时间:2014-03-18 06:12:21

标签: c# asp.net regex

我需要 RegEx 来匹配整数值以及 Float 数字。 我想使用* Regular Expression Validator *

来使用它

应该有效

.1

.12

1.2

1.23

12.3

12.34

1

12

应该无效

.123(this value is having more then 2 decimal values)

1.234(this value is having more then 2 decimal values)

我真正想要的是仅在带有C#的ASP.Net中的TextBox( MaxLength = 5 )控件中取值0到99.99。

3 个答案:

答案 0 :(得分:2)

你想要像这样的正则表达式

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

此处非捕获组(?:\d{1,2})将检查0 - 99之间的值。 这已被?选为可选项,因为允许使用.12.2等值。

演示:http://regex101.com/r/oW7rF4

答案 1 :(得分:0)

您可以执行以下检查:

String string = "1.23";

if( 
  string.match(/^\d+$/) || // for "123", "456"
  string.match(/^\d+\.\d{1,2}$/) || // for "123.45", "4.5"
  string.match(/^\.\d{1,2}$/) )  // for ".45", ".8"
    // do something
else 
     // do something else

注意:这是一个伪代码(或者你称之为的任何代码),你可以将它转换为你的语言。

答案 2 :(得分:0)

(^\d{1,2}$)|(^\d{0,2}[.]\d{1,2}$)

(^\d{1,2}$)适用于INT
[0,1,12,99]

(^\d{0,2}[.]\d{1,2}$)适用于FLOAT
[.1,.12,1.2,1.23,12.3,12.34,.99,99.99]