【问题标题】:Regex to identify decimal between 0.0 and 1.0正则表达式识别 0.0 和 1.0 之间的小数
【发布时间】:2013-02-14 10:55:05
【问题描述】:

我正在寻找一个正则表达式验证表达式来验证十进制值 (x) 是否如下: 0.0

只允许保留一位小数。我该怎么做?

谢谢

【问题讨论】:

  • 为什么要使用正则表达式?确定解析为decimal 并直接测试更好?
  • 嗨@Oded,我想在调用服务器之前验证客户端的数据字段,以便减少服务器交互
  • 什么样的客户?如果这是 JavaScript,为什么要用 C# 标记它?正则表达式引擎相似,但不一样。
  • @Oded 它是一个 asp.net 页面。我正在使用 来验证文本框

标签: asp.net regex c#-4.0


【解决方案1】:

试试这个,它将检查一位小数而不是其他建议的变体

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

【讨论】:

  • 不需要量词,你接受了我的回答并添加了冗余,很好。
【解决方案2】:

正则表达式是:

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

但是为什么不使用十进制比较呢?

【讨论】:

  • 当然 ^(:?(:?0\.[0-9]{1})|(:?1\.0))$ - 即 {1} 而不是 + 仅 1dp是允许的。
  • @BunjiquoBianco 0.0 < 0.5545 < 1.0 持有。
  • 同意您的逻辑,但这将允许 0.5545 作为有效条目,并且 OP 说它不会 - “只允许小数点后一位”
  • @BunjiquoBianco 不知道我是怎么跳过的,谢谢指出(已修复)
  • @BunjiquoBianco 你不需要量词,[0-9] 因为只计算一位数,但你可以使用 [0-9] 代替 \d(仍然不需要量词)。
猜你喜欢
  • 1970-01-01
  • 2016-03-02
  • 2016-11-18
  • 2012-02-22
  • 2023-04-07
  • 2012-06-01
  • 2013-09-18
  • 1970-01-01
  • 2013-12-17
相关资源
最近更新 更多