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个十进制值不超过。
答案 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