正则表达式用于整数和浮点数

本文关键字:浮点数 整数 用于 正则表达式 | 更新日期: 2023-09-27 17:50:47

我需要一个正则表达式来匹配整数值和浮数。我想使用*正则表达式验证器*

什么应该是有效的

.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)

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

正则表达式用于整数和浮点数

你想要这样的正则表达式

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

在这里,非捕获组(?:'d{1,2})将检查0 - 99 之间的值。这在?中是可选的,因为允许使用.12.2等值。

演示在这里 : http://regex101.com/r/oW7rF4

您可以实现如下检查:

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

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

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

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

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