首页 > 解决方案 > 点后允许零、允许数字和最大两个数字

问题描述

我需要编写正则表达式验证。
接受号码:
0
0.3
0.21
78.21
8934

不允许:
00
0.323
-1
021

^(?:0,\d\d|[1-9]\d*(?:,\d\d)?|)$

我有那个正则表达式,但它不接受“0”和数字“0.2”。

标签: javascriptregex

解决方案


似乎以下勾选了您的框:

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

查看在线演示

  • ^- 开始线锚。
  • (?:- 打开非捕获组:
    • 0- 文字“0”。
    • |- 或者:
    • [1-9]\d*- 一个数字,范围为 1-9,后跟 0+ 位。
    • )- 关闭非捕获组。
  • (?:- 打开第二个非捕获组:
    • \.\d\d?- 匹配文字“.” 后跟一个数字和一个可选的第二个数字。
    • )?- 关闭非捕获组并使其成为可选。
  • $- 结束线锚。

推荐阅读