javascript - 用于检查金额的正则表达式大于一

标签 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-9])\\d{0,5}(?:\\.\\d{0,2})?$

RegEx Demo

[1-9] 之前的

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

关于javascript - 用于检查金额的正则表达式大于一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33932236/

相关文章:

javascript - 谷歌应用程序脚本日期格式

javascript - 如何禁用 html 按钮 jquery

javascript - firebase auth().onAuthStateChanged 是否执行提取?

c# - 如何删除正则表达式中的特定 url 参数?

regex - PostgreSQL Regex 匹配带扩展名且无路径的长文件名模式

javascript - onhashchange 的替代品?

javascript - 覆盖 bootstrap.js 中下拉菜单的行为

javascript - Markdown 解析器支持三个反引号的代码围栏,但它被一个空行崩溃了

java - 使用 Java 从字符串中提取任意 5 位数字

python - 反转交替正则表达式