我需要javascript中的正则表达式,该正则表达式仅接受正数和小数。这就是我所拥有的,但是出了点问题–它似乎并不需要一个正数。
/^[-]?[0-9]+[\.]?[0-9]+$/;
例如,
9
将不起作用。我该如何重组它,以便如果至少有一个正数,它将起作用? 最佳答案
/^[+]?([0-9]+(?:[\.][0-9]*)?|\.[0-9]+)$/
火柴
0
+0
1.
1.5
.5
但不是
.
1..5
1.2.3
-1
编辑:
要处理科学计数法(
1e6
),您可能需要/^[+]?([0-9]+(?:[\.][0-9]*)?|\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/
如果您想要严格的正数而不是零,则可以
/^[+]?([1-9][0-9]*(?:[\.][0-9]*)?|0*\.0*[1-9][0-9]*)(?:[eE][+-][0-9]+)?$/
关于javascript - 正则表达式仅接受正数和小数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7708333/