【发布时间】:2013-08-30 04:09:20
【问题描述】:
我在使用正则表达式时遇到了一些问题; 我只想在字符串中留下有效数字,人们可能会输入:
11.2.2abd11,asd11
等等,
str = .replace(/[^[0-9]{1,2}([.][0-9]{1,2})?$]/g, '');
所以我需要只允许用户输入的任何内容中的数字和一个点;
This answer 但是当我尝试将其放入时不起作用:
str.replace(/(?<=^| )\d+(\.\d+)?(?=$| )|(?<=^| )\.\d+(?=$| )/,'');
它给了我一个 JS 错误。请帮助我了解我做错了什么。
p.s:感谢大家的帮助,我找到了解决方案HERE,所以我认为线程可能已关闭。
【问题讨论】:
-
Javascript 不支持诸如
(?<=^| )之类的lookbehinds。 -
abd11会发生什么 - 应该完全删除还是变成abd? -
@TimPietzcker:甚至只有 11 个?
-
负数呢?
标签: javascript regex