【问题标题】:Regex to match either: 1)whole number, 2) number with fraction with only 2 digits after decimal or 3) fraction with only 2 digits after decimal正则表达式匹配:1)整数,2)小数点后只有 2 位的小数或 3)小数点后只有 2 位的小数
【发布时间】:2016-01-10 04:35:49
【问题描述】:

我对正则表达式不太熟悉,我需要对数字输入进行一些客户端验证。

它应该匹配任何一个

  1. 整数
  2. 小数点后只有 2 位小数的数字
  3. 小数点后只有 2 位的分数

我打算把它放在“模式”属性中。我试过了:

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

但它仍然允许小数点后一位。

【问题讨论】:

  • 你有什么尝试吗?
  • 是的,我试过这个:"^\d{0,6}(\.\d{1,2})?$"
  • 我试过的代码仍然允许小数点后1位。
  • Pattern 属性是什么?

标签: html regex


【解决方案1】:

对于您现有的正则表达式:

 "^\d{0,6}(\.\d{1,2})?$"

\d{1,2} 明确表示允许 1 个 2 个数字。如果要严格指定两个数字,请执行

"^\d{0,6}(\.\d{2})?$"

"^\d{0,6}(\.\d\d)?$"

【讨论】:

    【解决方案2】:

    正则表达式

    ^\d{0,6}(.\d{2})?$

    可以匹配虚无;即:空输入匹配

    你可以使用:

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

    改为。

    http://regexr.com/3chv2

    【讨论】:

      猜你喜欢
      • 2022-07-22
      • 2015-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多