从JavaScript中的字符串中剥离所有非数字字符

JavaScript

西门小宇宙

2020-03-11

考虑一个非DOM场景,您想使用JavaScript / ECMAScript从字符串中删除所有非数字字符。范围内的任何字符0 - 9都应保留。

var myString = 'abc123.8<blah>';

//desired output is 1238

您将如何用纯JavaScript实现此目标?请记住,这是一个非DOM方案,因此jQuery和其他涉及浏览器和按键事件的解决方案都不适合。

第724篇《从JavaScript中的字符串中剥离所有非数字字符》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

4个回答
梅小卤蛋梅 2020.03.11

如果您需要用它来保留浮点数,请使用此

var s = "-12345.50 €".replace(/[^\d.-]/g, ''); // gives "-12345.50"
前端Harry十三 2020.03.11

使用.replace正则表达式为的字符串方法\D,这是与所有非数字匹配的速记字符类:

myString = myString.replace(/\D/g,'');
L西门 2020.03.11

类似于以下内容:

yourString = yourString.replace ( /[^0-9]/g, '' );
古一泡芙小卤蛋 2020.03.11

如果您的脚本实现支持正则表达式,请使用正则表达式。就像是:

myString.replace(/[^0-9]/g, '');

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android