长度限制的正则表达式,小数点前10位到小数点后2位(仅数字)?

时间:2018-11-13 05:33:45

标签: javascript regex

我想要一个长度限制为10位的正则表达式,其中2位小数位只能有数字。小数点前10位
允许
1
1111111111
111
1111111111.22
.2
1.2
1.22

不允许
 4.
 。
-1
abc

空字符串
“”
1.222
-1.22
111111111111
尝试过但不起作用

^[0-9]*(\.[0-9]{0,2})?$

2 个答案:

答案 0 :(得分:2)

您快到了-您要做的就是检查字符串是否为空(可以在.{1,10}之后对^进行正向超前查找来完成此操作),并且检查其第一个数字字符串最多包含10个字符(只需对数字使用{0,10}量词)。另外请注意,[0-9]简化为\d

为了也排除尾随点,请用{1,2}而不是{0,2}重复点后的数字:

^(?!$)\d{0,10}(?:\.\d{1,2})?$

https://regex101.com/r/Ah8dNu/5

答案 1 :(得分:0)

我还在RegEx下方进行了准备。

似乎这也可以。

^[0-9]{1,10}((\.)[0-9]{0,2}){0,1}$