正则表达式检查金额是一个伟大的

时间:2015-11-26 06:49:44

标签: javascript regex

我有正则表达式

^(?=.*[1-9])\\d{0,5}(?:\\.\\d{0,2})?$

检查金额应大于0,它可以包含十进制前的最大五位数和可选的十进制数以及十进制后的两位数。 这里(?=.*[1-9])用于检查字符串中(1-9)的任何数字是否应该是最新的一次出现。

但我想修改它以检查大于一(1)的数量,所以我希望(?=.*[1-9])仅检查直到小数点出现,即0.1它应该返回false。 其他条件也应该实现。

注意:小数点前的位数不会被修复,它会从1到5,所以我们无法将其修改为(?=.{0,5}[1-9])

1 个答案:

答案 0 :(得分:1)

你可以使用这个基于否定的正则表达式修复它:

which()

RegEx Demo

^(?=[^.]*[1-9])\\d{0,5}(?:\\.\\d{0,2})?$ 之前的

[^.]*将匹配除小数点以外的任何字符,因此不允许[1-9]作为有效数字。