我有一个正则表达式
^(?=.*[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-9])\\d{0,5}(?:\\.\\d{0,2})?$
[1-9]
之前的 [^.]*
将匹配除小数点以外的任何字符,因此不允许 0.45
作为有效数字。
关于javascript - 用于检查金额的正则表达式大于一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33932236/