【发布时间】:2018-03-09 15:36:08
【问题描述】:
我正在寻找 JavaScript 中的正则表达式,它将选择除单个点和单个破折号之外的所有非数字字符。我试过[^0-9\.\-]+,但它没有选择多个点或破折号。所以它应该选择..而不是.
我的用例是数字输入验证。用户可以键入任何数字或单点或单破折号。我将用空字符串替换无效的输入。
【问题讨论】:
-
你能发布带有匹配子字符串的输入示例吗?
-
您的描述不清楚。您将如何使用这样的正则表达式? (这是 XY 问题吗?)
-
这是否意味着
-.-是有效输入但--不是? -
@melpomene,你说得对,
-.-也应该是无效的。它增加了复杂性:) -
所以你真的只是想确保输入是一个有效的整数或浮点数,这意味着单个点或破折号也应该是无效的?如果是这样,我不会打扰正则表达式。只需使用
parseFloat(input_data)看看你是否得到NaN
标签: javascript regex