正则表达式只有一个点和数字

时间:2013-08-29 14:02:12

标签: javascript regex

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

  1. 11.2.2

  2. abd11,asd11

  3. 等等,

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

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

    This answer但是当我尝试将其放入时不起作用:

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

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

    p.s:谢谢你们所有人帮助我,我找到了解决方案HERE,所以我认为线程可能会被关闭。

3 个答案:

答案 0 :(得分:1)

使用正则表达式

\d*[0-9]\.\d*[0-9]

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

怎么样:

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

这将匹配:

12
12.34
.34