1. 前面带数字,后面非数字,可以直接用parseFloat()函数

 var num1 = parseFloat("5.21元"); //num1 : 5.21

在这里插入图片描述
在这里插入图片描述

2. 像"你好2021年"这样字符串中只含有一个整型数值的字符串,直接使用正则表达式将数字的字符删除掉就行

  var str1 = "你好2021年";
  var num2 = str1.replace(/[^\d]/g, " "); //num2 : 2021

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); // ["+", "*", "-", "/", "+"]
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐