【问题标题】:Regular Expression for a range values between 0.00 and 15.00 [duplicate]范围值在 0.00 到 15.00 之间的正则表达式 [重复]
【发布时间】:2017-06-29 06:28:50
【问题描述】:

我正在尝试使用正则表达式来验证 0.00 到 15.00 之间的值的输入,最多保留 2 个小数位。

有效和无效数据示例:

有效数据:

  • 0.00
  • 13.
  • 1.01
  • 14.99
  • 15

无效数据:

  • 15.01
  • 13.111
  • -1.14
  • 0.001
  • 00.02
  • .25

【问题讨论】:

  • 不确定你在哪里使用它,但一般来说你最好解析和进行数值比较。
  • 你不需要正则表达式
  • 可能类似于^([0-9]|1[0-4])(\.[0-9]{0,2})?|15(\.0{0,2})?$?
  • 另外,如果这是为了限制文本框的输入,您可能需要查看其他专门用于输入数字范围的 UI 控件。
  • @AlexeiLevenkov - 请注意。这些链接到的重复项都不是对 OP 问题的回答。而且,标题可能看起来不错,但我敢打赌你不能概括任何正则表达式数字范围。如果可以,请发布该概括。

标签: c# regex


【解决方案1】:

不要使用正则表达式。将值解析为 double 并进行数学比较。

if(double.TryParse(yourString, out double value))
{
    if(value >= 0 && value <= 15)
    {
        //it's a good value
    }
}
// else, it's either not a double or out of range

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-16
    相关资源
    最近更新 更多