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$