Answers:
使用.replace
正则表达式为的字符串方法\D
,这是与所有非数字匹配的速记字符类:
myString = myString.replace(/\D/g,'');
replace
,在所有的浏览器这个确切的语法的工作?似乎我记得object has no method 'replace'
在将它与我用jQuery抓取的文本一起使用时使用过IE的旧版本...之类的东西。
如果您需要用它来保留浮点数,请使用此
var s = "-12345.50 €".replace(/[^\d.-]/g, ''); // gives "-12345.50"
"aaa 2.9px of bbb.".replace(/[^\d.-]/g, '')
→ 2.9.
应剥去这可能会围绕为数字的字符串..
-
(负)数字案件:)
parseFloat("-1234.5.50 €".replace(/[^\d.-]/g, ''))
如果您的脚本实现支持正则表达式,请使用正则表达式。就像是:
myString.replace(/[^0-9]/g, '');
我们在2017年,现在您也可以使用ES2016
var a = 'abc123.8<blah>';
console.log([...a].filter( e => isFinite(e)).join(''));
要么
console.log([...'abc123.8<blah>'].filter( e => isFinite(e)).join(''));
结果是
1238
\D
?