0

我在使用正则表达式时遇到了一些问题;我只想在字符串中留下有效数字,人们可能会输入:

  1. 11.2.2

  2. abd11,asd11

等等,

str = .replace(/[^[0-9]{1,2}([.][0-9]{1,2})?$]/g, '');

所以我需要只允许用户输入的任何数字和一个点;

但是,当我尝试将其放入时,此答案不起作用:

str.replace(/(?<=^| )\d+(\.\d+)?(?=$| )|(?<=^| )\.\d+(?=$| )/,'');

它给了我一个JS错误。请帮助我理解我做错了什么。

ps:谢谢大家帮助我,我在这里找到了解决方案,所以我认为线程可能已关闭。

4

3 回答 3

1

使用正则表达式

\d*[0-9]\.\d*[0-9]
于 2013-08-29T14:06:40.623 回答
0

您必须使用引号。像这样:

str.replace("/(?<=^| )\d+(\.\d+)?(?=$| )|(?<=^| )\.\d+(?=$| )/",'');
于 2013-08-29T14:11:12.990 回答
0

怎么样:

/(?: |^)\d*\.?\d+(?: |$)/

这将匹配:

12
12.34
.34
于 2013-08-29T14:25:23.803 回答