js 字符串 只显示数字

1. 使用正则表达式的match方法

  • 原理 :正则表达式\d+用于匹配一个或多个数字。match方法会在字符串中查找与正则表达式匹配的部分,并返回一个包含所有匹配结果的数组。

  • 示例代码

    let str = "abc123def456";
    let numbers = str.match(/\d+/g);
    console.log(numbers);
    // 输出: ["123", "456"]

2. 使用replace方法结合正则表达式和函数

  • 原理replace方法可以用指定的内容替换字符串中与正则表达式匹配的部分。通过传入一个函数作为替换参数,可以在函数中提取匹配的数字并返回。

  • 示例代码

    let str = "abc123def456";
    let result = "";
    str.replace(/\d+/g, function(match) {
    result += match;
    return "";
    });
    console.log(result);
    // 输出: "123456"

3. 使用split方法结合正则表达式

  • 原理:先使用正则表达式将字符串分割成数组,然后过滤掉非数字的元素,最后将数字元素合并成一个字符串。

  • 示例代码

    let str = "abc123def456";
    let parts = str.split(/\D+/);
    let numbers = parts.filter(Boolean).join("");
    console.log(numbers);
    // 输出: "123456"

4. 遍历字符串逐个判断字符是否为数字

  • 原理 :通过遍历字符串的每个字符,使用isNaN函数判断字符是否为数字,如果是数字则将其添加到结果字符串中。

  • 示例代码

    let str = "abc123def456";
    let result = "";
    for (let i = 0; i < str.length; i++) {
    if (!isNaN(str[i])) {
    result += str[i];
    }
    }
    console.log(result);
    // 输出: "123456"

相关推荐
为何创造硅基生物5 小时前
C语言 结构体内存对齐规则(通俗易懂版)
c语言·开发语言
吃好睡好便好5 小时前
在Matlab中绘制横直方图
开发语言·学习·算法·matlab
星寂樱易李5 小时前
iperf3 + Python-- 网络带宽、网速、网络稳定性
开发语言·网络·python
仰泳之鹅5 小时前
【C语言】自定义数据类型2——联合体与枚举
c语言·开发语言·算法
之歆6 小时前
DAY_12JavaScript DOM 完全指南(二):实战与性能篇
开发语言·前端·javascript·ecmascript
Maimai108086 小时前
React如何用 @microsoft/fetch-event-source 落地 SSE:比原生 EventSource 更灵活的实时推送方案
前端·javascript·react.js·microsoft·前端框架·reactjs·webassembly
candyTong6 小时前
Claude Code 的 Edit 工具是怎么工作的
javascript·后端·架构
cen__y7 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
AI人工智能+电脑小能手7 小时前
【大白话说Java面试题 第65题】【JVM篇】第25题:谈谈对 OOM 的认识
java·开发语言·jvm
社交怪人7 小时前
【算平均分】信息学奥赛一本通C语言解法(题号2071)
c语言·开发语言