【发布时间】:2018-06-04 13:15:56
【问题描述】:
正则表达式必须匹配所有正双精度数,小数点后最多两位数,大于 0.01 的数字以及科学记数法,例如(1.0E7)。
我设法分别解决了这两个问题。
用于匹配所有小数点后最多 2 位数字和大于 0.01 的数字的正双精度:
"^(?!0+\\.0+$)^\\d+(?:\\.\\d{1,2})?$"
对于任何数字,包括科学记数法:
"^[+-]?\\d+(?:\\.\\d*(?:[eE][+-]?\\d+)?)?$"
当我想将它们组合成一个时,问题就来了。
我尝试了here 描述的方法,但没有一个对我有用。 JavaScript/AngularJS 是使用的语言,如果它有任何重要性。
有什么建议吗?
【问题讨论】:
-
您不能使用 parseFloat 并根据结果数字检查您的条件吗?
-
除非这是一项测试任务,否则在可读性/可维护性方面值得怀疑
标签: angularjs regex numbers scientific-notation