正则表达式用于必须包含小数点的数字

Fle*_*phy 3 javascript regex

我正在尝试编写一个正则表达式来验证十进制数字。

  1. 该数字必须包含小数点。
  2. 小数点右边必须有一个数字[0-9]。
  3. 小数点左边最多可以有5位数字,但是除非以零为单位,否则它们不能以零开头。

允许:

  • 0.1(如果后跟小数位,则第一位数只能为零)
  • 10345.0(小数点左边最多5位,小数点右边最多1位)

不允许:

  • 0(无小数位)
  • 10(无小数位)
    1. (小数点右边没有数字)
  • 。(小数点两侧没有数字)
  • .1(小数点左边没有数字)

此正则表达式验证小数点前的内容

^(?:[1-9][0-9]{0,4}|0)$
Run Code Online (Sandbox Code Playgroud)

此正则表达式验证小数点后的内容

^[0-9]{1}+$
Run Code Online (Sandbox Code Playgroud)

我只是不知道如何将两者结合起来,使得小数位是强制性的。

我该如何解决这个问题?

小智 5

To the best of my knowledge, this works

^(?:[1-9]\d{0,4}|0)\.\d$

Expanded

 ^                             # BOS
 (?:
      [1-9] \d{0,4}                 # 1-5 digits, must not start with 0
   |                              # or,
      0                             # 0
 )
 \. \d                         # decimal point and 1 digit
 $                             # EOS
Run Code Online (Sandbox Code Playgroud)