gpt4 book ai didi

javascript - 正则表达式在 JavaScript 中无法按预期工作

转载 作者:行者123 更新时间:2023-11-28 20:57:43 25 4
gpt4 key购买 nike

我有以下正则表达式:^-?([0-9]{0,3}$|[0-9]{0,2}\.?[0-9]{0,1 }$)

它不应该允许 4 位数字,例如 4444。如果我尝试 here,则表达式工作正常。 ,但在 javascript 中,代码未按预期工作。它允许 4 位数字。所有其他验证工作正常。

这是我的代码:

http://jsfiddle.net/PAscG/

reg0str = "^-?([0-9]{0,3}$|[0-9]{0,2}\.?[0-9]{0,1}$)";
var reg0 = new RegExp(reg0Str);
if (reg0.test(temp)) return true;

更新解释功能:

我只想允许 3 位数字。因此,要么我只能允许小数点后 1 位数字,小数点前 2 位数字,要么我可以允许小数点前最多 3 位数字,小数点后没有任何数字。

所以我的第一部分:
[0-9]{0,3}$ 我认为这应该最多允许 3 位数字,并且只能是数字。

下一部分:[0-9]{0,2}\.?[0-9]{0,1}$ 小数点前最多允许 2 位数字,最多 1 位小数点后的数字。

最佳答案

根据OP的澄清

正则表达式是

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

^ start of string
-? optional minus sign (use [-+]? if you accept a plus sign)
( start of OR group
\d{0,3} 0 1, 2 or 3 digits
\.? optional decimal point
| OR
\d{0,2} 0 1, or 2 digits
\. decimal point
\d final decimal
) end of OR grouping
$ end of string

关于javascript - 正则表达式在 JavaScript 中无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11763909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com