查看: 1321|回复: 2

js提取字符串中数字的三种方法

[复制链接]
  • TA的每日心情
    开心
    5 天前
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    34

    主题

    49

    回帖

    2821

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    2821
    发表于 2023-2-19 03:11:03 | 显示全部楼层 |阅读模式

    1. 前面带数字,后面非数字,可以直接用parseFloat()函数let num1 = parseFloat("5.21元"); //num1 : 5.21
    定义和用法parseFloat()函数可以解析一个字符串,并返回一个浮点数。
    该函数指定字符串中的首个字符是否是数字。如果是,则对字符串进行解析,直到到达数字的末端为止,然后以数字返回该数字,而不是作为字符串。
    注意:字符串中只返回一个数字。
    注意:开头和结尾的空格是允许的。
    注意:如果字符串的第一个字符不能被转换为数字,那么parseFloat()会返回NaN。
    2. 像"你好2023年"这样字符串中只含有一个整型数值的字符串,直接使用正则表达式将数字的字符删除掉就行  let str1 = "你好2023年";  let num2 = str1.replace(/[^\d]/g, " "); //num2 : 2023
    3. 对于字符串中含有多数值,使用字符串的match方法,通过正则表达式提取字符串的所有数字(包含整数和小数)var str2 = "89.5+7*5-9/3.0+8.5";var num3 = str2.match(/\d+(\.\d+)?/g); console.log(num3); // ["89.5", "7", "5", "9", "3.0", "8.5"]var num4 = str2.match(/[^\d\.]/g); console.log(num4); // ["+", "*", "-", "/", "+"]


    开服订制/脚本订制/ ---小米QQ526703257
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-8-5 07:15
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    1

    主题

    44

    回帖

    201

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    201
    发表于 2023-8-5 07:18:52 | 显示全部楼层
    学习一下,感谢分享
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-23 17:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    22

    回帖

    50

    积分

    注册会员

    Rank: 2

    积分
    50
    发表于 2024-1-23 17:29:26 | 显示全部楼层
    4546467997797
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表