我已经尝试了下面的正则表达式来验证数字与以下条件/^\d{3,10}(\.\d{2})?$/
a、数字最少3位,最多10位(含.),可以包含.和两位小数点
示例
有效数字
123
1234
12345
123456
1234567
12345678
123456789
1234567890
123.00
1234.02
12345.03
123456.04
1234567.05
无效数字
1
12
1.11
1.1111
12345678.12
但是我的正则表达式在1234567890.00的情况下失败
2条答案
按热度按时间wtlkbnrh1#
您可以用途:
说明
^
字符串开头(?![.\d]{11}$)
负lookahead,Assert字符串结尾之前不存在11个或更多数字或点\d{3,10}
匹配3-10位数字(?:\.\d\d)?
可选地匹配.
和2个数字$
字符串结束请参见regex demo。
ctzwtxfj2#
我发现您对3到10个数字(包括
.
)的描述与您的无效示例1.11
(包含3个字符(数字和.
))存在矛盾下面是一个测试正则表达式,假设你想测试3到10个字符(数字和
.
):输出量:
正则表达式说明:
^
-字符串的开头(?=.{3,10}$)
-Assert3到10个字符的正前瞻\d+
-- 1个以上字符(\.\d{2})?
-可选的.nn
模式$
-字符串结尾