Regex只适用于0到1到2位小数的正小数,在JavaScript中不需要签名吗



我基本上想要RGBA中alpha的正则表达式,它总是0和amp;1.然而,我希望它只能像0.53&不超过CCD_ 2那样。

允许

0到1之间的任何值,但最多只能包含小数点后2位的

0
0.0
0.00
0.1
0.12
0.34
1
1.0
1.00

不允许

0到1&如果它在0到1之间,则它应该仅小于或等于小数点后2位&甚至标志不允许

0.123
90
3
-1
+1

我注意到了其他类似的问题,但它们允许有符号或小数点后两位以上。

目前,我有一个类似/^(0+.?|0*.d+|0*1(.0*)?)$/的正则表达式,它允许超过2位小数。我该如何解决?

您可以使用:

^(?:0(?:.[0-9]{1,2})?|1(?:.00?)?)$

RegEx演示

RegEx详细信息:

  • ^:启动
  • (?::启动非捕获组
    • 0:匹配0
    • (?:.[0-9]{1,2})?:匹配可选点,后跟1或2位数字
    • |:或
    • 1:匹配1
    • (?:.00?)?:匹配可选点后1或2个零
  • ):结束非捕获组
  • $:结束

或者,尝试:

^(?!1..?[1-9])[01](?:.dd?)?$

查看在线演示

  • ^-启动字符串锚
  • (?!-打开负面前瞻:
    • CCD_ 17-一个文字";1〃;后跟换行符和可选字符以外的任何字符
    • [1-9]-匹配1-9之间的数字
    • )-关闭负面展望
  • 0.5360-匹配零或一
  • (?:-打开非捕获组:
    • .dd?-匹配文字点、个位数和可选数字
    • )?-关闭非捕获组并将其设为可选
  • $-端柱锚

最新更新