Javascript 如何编写一个不匹配数字的正则表达式
我试图创建一个用于HTML输入的angular指令,以过滤掉非数字字符 这是我的正则表达式,我正在使用它来实现: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代码来测试它 编辑: 您可能需要将*添加到
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(输入值)代码>可能重复的