RegExp在小数点后三位放置零(0)

时间:2019-02-14 03:06:25

标签: javascript regex

Hi all i need all these possible cases to be valid

0.001
0.320
0.009
0.0
0.3
0.9

让reqDecimal = / ^(0(。\ d +)?| 1(.0 +)?)$ /; 我尝试了上面的代码,期望3个十进制值不超过。

2 个答案:

答案 0 :(得分:1)

只需将您的两个加号替换为{1,3)

/^(0(.\d{1,3})?|1(.0{1,3})?)$/

这可确保每个小数点之间的数字介于1到3之间:

const regex = /^(0(.\d{1,3})?|1(.0{1,3})?)$/;
const amounts = [
  "0.001",
  "0.320",
  "0.009",
  "0.0",
  "0.3",
  "0.9",
  "0.",
  "0.0000",
  "1.",
  "1.000",
  "1.0000"
]

amounts.forEach(function(amount) {
  console.log(amount, "=", regex.test(amount));
});

这也可以在Regex101 here 上看到。

答案 1 :(得分:0)

您可能会使用:

^(?:1|0)\.\d{1,3}$

如果您想停留在1.000或以下:

^0\.\d{1,3}\b|1\.0{1,3}\b$

示例

https://regex101.com/r/wKZseY/1
https://regex101.com/r/wKZseY/2