考虑一个非 DOM 场景,您想使用 JavaScript / ECMAScript 从字符串中删除所有非数字字符。 0 - 9
范围内的任何字符都应保留。
var myString = 'abc123.8<blah>';
//desired output is 1238
您将如何用普通的 JavaScript 实现这一目标?请记住,这是一个非 DOM 场景,因此 jQuery 和其他涉及浏览器和按键事件的解决方案都不适合。
将字符串的.replace
方法与正则表达式\D
,这是一个速记字符类,可匹配所有非数字:
myString = myString.replace(/\D/g,'');
如果您需要用它来保留浮点数,请使用此
var s = "-12345.50 €".replace(/[^\d.-]/g, ''); // gives "-12345.50"
如果您的脚本实现支持正则表达式,请使用正则表达式。就像是:
myString.replace(/[^0-9]/g, '');