【问题标题】:How to fix this regexp to exclude negative numbers [duplicate]如何修复此正则表达式以排除负数 [重复]
【发布时间】:2020-02-26 07:24:34
【问题描述】:

这一个匹配一些不必要的值,如以下。

$("#orderNumber").inputFilter(function(value) {
        return /^\d*[.]?\d*$/.test(value); });

我想摆脱它。我怎样才能做到这一点? 排除负数 -13、-15.372、第一个点(如 .375)、最后一个符号点 - 123。 我想得到这个结果:

1.375 - 匹配 135 - 匹配

只有带点的正数。

【问题讨论】:

  • 从模式的最开始删除-?
  • 对不起,旧的一种模式
  • 你能澄清你的问题吗
  • @Tausif,我想禁止使用“.03”和“33”之类的数字。边缘的点在哪里。
  • 无需发布任何答案,验证 int/float 数字是一条老路。 Here 是答案 (/^[0-9]+(?:\.[0-9]+)?$/)。

标签: jquery regex validation


【解决方案1】:

你的意思是这样的吗? '*' 表示任意数量的匹配,因此 0 或更多,而 '+' 表示 1 或更多。

^\d+(?:\.\d+)?$

【讨论】:

  • ^\d+[.]?\d+$ 是一个非常错误的模式,因为它不允许单个数字。
  • 现在,^\d+(?:\.\d+)?$ 等于已经存在的existing solution,请考虑删除帖子,因为不需要复制 SO 内容。
猜你喜欢
  • 1970-01-01
  • 2021-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
  • 2017-09-07
相关资源
最近更新 更多