【发布时间】:2020-10-20 06:08:20
【问题描述】:
正则表达式(^-?[1-9]*?0?(\.\d+)?$)|(^\d+\.$) 允许用户键入以下十进制或整数值
0.500
3
0
0.0
30
500000
4000.22
0.
-0.500
-3
不允许
03.3, 00, 02, 00.0
但上面的正则表达式也允许.3、.4
有没有办法不允许.3或.44谢谢
我的尝试:
(^-?[1-9]*?0+?(\.\d+)?$)|(^\d+\.$) 这似乎不起作用
【问题讨论】:
-
你为什么使用正则表达式进行数值范围检查?
-
我正在使用formcontrol作为输入框,并希望在与上述正则表达式不匹配时显示验证错误
-
您是专门尝试排除精确值 0.3、0.4 和 0.44,还是尝试要求用户始终为小于 1 的小数值提供前导 0?您正在使用哪种正则表达式变体?哪些规则适用于负数?
-
我想包含 0.3,但不允许用户键入前面没有 0 的 .3
-
这只是一个小修正@Thefourthbird。毕竟这是您的正则表达式解决方案。您应该将其发布为答案。
标签: javascript angular regex ecmascript-6 angular9