Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript RegExp将零(0)放在三位小数后_Javascript_Regex - Fatal编程技术网

Javascript RegExp将零(0)放在三位小数后

Javascript RegExp将零(0)放在三位小数后,javascript,regex,Javascript,Regex,大家好,我需要所有这些可能的案例都有效 0.001 0.320 0.009 0.0 0.3 0.9 设reqDecimal=/^(0(..d+)?| 1(.0+)?$/; 我尝试了上面的代码,需要预期的3个十进制值不超过。只需将两个加号替换为{1,3): 这确保每个小数点之间有1到3位数字: const regex=/^(0(.\d{1,3})| 1(.0{1,3})$/; 常数金额=[ "0.001", "0.320", "0.009", "0.0", "0.3", "0.9", "0."

大家好,我需要所有这些可能的案例都有效

0.001
0.320
0.009
0.0
0.3
0.9
设reqDecimal=/^(0(..d+)?| 1(.0+)?$/;
我尝试了上面的代码,需要预期的3个十进制值不超过。

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

这确保每个小数点之间有1到3位数字:

const regex=/^(0(.\d{1,3})| 1(.0{1,3})$/;
常数金额=[
"0.001",
"0.320",
"0.009",
"0.0",
"0.3",
"0.9",
"0.",
"0.0000",
"1.",
"1.000",
"1.0000"
]
amounts.forEach(函数(amount){
console.log(金额,“=”,regex.test(金额));

});
您可能会使用:

^(?:1|0)\.\d{1,3}$
如果您想停留在
1.000以下

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



试着在在线正则表达式测试仪上测试它。我也试过链接。@sameer:你能不能也添加一些无效的样本以便我们知道哪些不匹配?对于给定的数据,你可以简单地使用
^\d+\。\d{1,3}$
我假设这是用于某种以小数形式存储的百分比系统(其中
1.000
将是最高的可接受值-对应于
100%
),尽管如果需要
1.xxx
,您可以简单地将
.0
替换为
\d
作为
/^(0(.\d{1,3})| 1(.\d{1,3})$/
:)可能是,但现在您这么说完全不清楚OP想要什么。
^0\.\d{1,3}\b|1\.0{1,3}\b$