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

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

//desired output is 1238

在纯JavaScript中如何实现这一点呢?请记住,这是一个非DOM场景,因此jQuery和其他涉及浏览器和按键事件的解决方案不适合.

推荐答案

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

myString = myString.replace(/\D/g,'');

Javascript相关问答推荐

订阅操作顺序

为什么我无法使用useMemo()停止脚本渲染?

在Phaser中查找哪个物体处于碰撞中

JavaScript Date对象在UTC中设置为午夜时显示不正确的日期

对象和数字减法会抵消浏览器js中的数字

每次子路由重定向都会调用父加载器函数

角色 map 集/spritebook动画,用户输入不停止在键上相位器3

在网页上添加谷歌亵渎词

我们如何从一个行动中分派行动

无法访问Vue 3深度监视器中对象数组的特定对象值'

如何从隐藏/显示中删除其中一个点击?

在带有背景图像和圆形的div中添加长方体阴影时的重影线

Prisma具有至少一个值的多对多关系

在JS中拖放:检测文件

未定义引用错误:未定义&Quot;而不是&Quot;ReferenceError:在初始化&Quot;之前无法访问';a';

当使用';字母而不是与';var#39;一起使用时,访问窗口为什么返回未定义的?

更新动态数据中对象或数组中的所有值字符串

在开发期间,Web浏览器如何运行&qot;.jsx&qot;文件?

FireBase云函数-函数外部的ENV变量

无法重定向到Next.js中的动态URL