我正在尝试创建一个角指令,以便与HTML输入一起使用,以筛选出任何数字字符。
以下是我用来实现这一目标的准则:
inputValue.replace(/[^0-9\-\.]/g, "").replace(/\.(\.)/g, '$1');
然而,这个regex不包括这些情况:
--55.5.6-5-5发布于 2018-04-30 09:59:45
如果我没有错,这真的很简单。^^
\d\d处理[0-9]中的每一个数字。您可以在RegEx上很简单地测试我们的https://regex101.com,而无需编写任何javascript代码来测试它。
编辑:
您可能需要向*添加一个\d。
\d**是贪婪的选择器,它选择以前的所有类型。
发布于 2018-04-30 13:53:25
在正则表达式中,您使用了一个否定字符类[^0-9\-\.],它不匹配数字0-9、-和.,因此保留这些匹配。
如果只想匹配一个数字,可以使用[^0-9]或\D来匹配任何不是数字的字符,并将其替换为空值。
let inputValue = `--5
5.5.6
-5-5
!@#$%# $%@% $%435 452545`;
inputValue = inputValue.replace(/\D/g, "");
console.log(inputValue);
https://stackoverflow.com/questions/50097893
复制相似问题