【发布时间】:2018-04-17 14:45:36
【问题描述】:
我正在尝试创建范围 0 到 8759.59
的 JavaScript 正则表达式我创建了 2 个正则表达式: 以下是我对此的表达:
正则表达式1
^([0-9]|[1-8][0-9]|9[0-9]|[1-8][0-9]{2}|9[0-8][0-9]|99[0-9]|[1-7][0-9]{3}|8[0-6][0-9]{2}|87[0-5][0-9]|8759)(\.([0-9]|[1-4][0-9]|5[0-9]))?$
还有一个范围为 0 到 8758.99 的表达式不接受 8760, 下面是这个表达式:
正则表达式2
^([0-9]|[1-8][0-9]|9[0-9]|[1-8][0-9]{2}|9[0-8][0-9]|99[0-9]|[1-7][0-9]{3}|8[0-6][0-9]{2}|87[0-5][0-9]|8758)(\.\d{1,2})?$
现在,当我尝试在 Regex2 和 Regex1 之间放置或运算符时,它无法按预期工作。
我希望它应该接受 0-8759.59 范围内的值
【问题讨论】:
-
您真的在使用日期/时间字符串吗?
-
您有什么理由只尝试使用 RegExp?通过解析字符串并进行数字检查可能会更好地服务...
-
你为什么不使用等比较运算符?
-
请提供样本输入、所需输出和当前输出。显示一些上下文代码以帮助理解稍微古怪的要求。
-
尝试证明是什么让您认为 OR 运算符不起作用。
标签: javascript regex