Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何编写一个不匹配数字的正则表达式_Javascript_Regex - Fatal编程技术网

Javascript 如何编写一个不匹配数字的正则表达式

Javascript 如何编写一个不匹配数字的正则表达式,javascript,regex,Javascript,Regex,我试图创建一个用于HTML输入的angular指令,以过滤掉非数字字符 这是我的正则表达式,我正在使用它来实现: inputValue.replace(/[^0-9\-\.]/g,”).replace(/\.(\.)/g,$1') 但是,此正则表达式不包括以下情况: --5 5.5.6 -5-5 如果我没有错的话,这真的很简单^^ \d \d对[0-9]中的每一个数字进行运算。您可以非常简单地在测试我们的正则表达式,而无需编写任何javascript代码来测试它 编辑: 您可能需要将*添加到

我试图创建一个用于HTML输入的angular指令,以过滤掉非数字字符

这是我的正则表达式,我正在使用它来实现:

inputValue.replace(/[^0-9\-\.]/g,”).replace(/\.(\.)/g,$1')

但是,此正则表达式不包括以下情况:

  • --5
  • 5.5.6
  • -5-5

    • 如果我没有错的话,这真的很简单^^

      \d
      
      \d
      [0-9]
      中的每一个数字进行运算。您可以非常简单地在测试我们的正则表达式,而无需编写任何javascript代码来测试它

      编辑:

      您可能需要将
      *
      添加到
      \d

      \d*
      

      *
      是贪婪选择器,它选择之前的所有类型。

      在正则表达式中,您使用一个否定字符类
      [^0-9\-\.]
      ,它与数字0-9、
      -
      不匹配,因此您保留这些匹配项

      如果要匹配除数字以外的任何字符,可以使用
      [^0-9]
      或匹配任何非数字字符,并将其替换为空值

      let inputValue=`--5
      5.5.6
      -5-5
      !@#$%# $%@% $%435 452545`;
      inputValue=inputValue.replace(/\D/g,“”);
      console.log(输入值)可能重复的