【发布时间】:2020-08-31 10:11:25
【问题描述】:
我可以使用什么作为验证浮点数的正则表达式?
数字可以是负数,不能以 0 开头(除非是实数 0,或 0 后跟小数点,例如 0.00123)
另一方面,正则表达式应该验证部分/未完成的数字。例如:
- ''(空字符串)有效
-
-是有效的(它仍然可以是一个有效的数字,并有适当的用户输入) -
0有效(因为0.1可能有效) -
0.0有效,原因同上 -
-0.000有效 -
-01无效 -
.2无效
我试过这个正则表达式:
^(-|-?0\.?[0-9]*|-?[1-9][0-9]*\.?[0-9]*|)$
它允许我丢弃所有非数字值并且仍然允许小数值,但是如何实现用户无法输入格式-0232的数字,但可以输入-0.232的可能性
【问题讨论】:
-
这里可以输入例子:regex101.com
-
为什么不允许-0232但允许-0.232?应该在什么时候区分?正数呢,有什么限制吗?您是否可以将字符串更改为数字并在那里执行检查?
-
输入小数的输入,正负可以是0.n但不能是0n
-
即用户不能输入格式为0123123或-03123123的数字,但允许输入0.3312312
标签: javascript regex