JS 截取数字

在开发网页应用程序时,我们经常会遇到需要从字符串中提取数字的情况。例如,我们可能从用户输入的文本中提取数字来执行数学计算,或者从网页中抓取数据来进行处理。在 JavaScript 中,有多种方法可以截取字符串中的数字。本文将详细介绍如何使用 JavaScript 来截取数字。
使用正则表达式
正则表达式是用于匹配字符串模式的工具,它可以帮助我们从字符串中提取特定格式的文本。在 JavaScript 中,我们可以使用正则表达式来截取数字。以下是一个示例:
const str = "今天的温度是25摄氏度";
const num = parseInt(str.match(/\d+/)[0]);
console.log(num);
上面的代码首先定义了一个包含数字的字符串 str,然后使用正则表达式 /d+/ 来匹配字符串中的所有数字。match 方法返回一个数组,包含匹配的数字。我们可以通过 parseInt 函数将提取出来的数字转换为整数,并将其存储在变量 num 中。最后,我们使用 console.log 将截取到的数字输出到控制台。
使用字符串方法
除了正则表达式,我们还可以使用字符串的一些方法来截取数字。例如,我们可以使用 charCodeAt 方法和 isNaN 函数来判断字符串中的字符是否为数字,然后将数字拼接在一起。以下是一个示例:
function extractNumber(str) {
let num = "";
for (let i = 0; i < str.length; i++) {
if (!isNaN(str.charAt(i))) {
num += str.charAt(i);
}
}
return parseInt(num);
}
const str = "明天的预算是2000元";
const num = extractNumber(str);
console.log(num);
上面的代码定义了一个名为 extractNumber 的函数,该函数将接受一个字符串作为参数,并返回该字符串中截取到的数字。在函数中,我们遍历字符串的每个字符,通过 isNaN 函数判断字符是否为数字,如果是数字则将其拼接到空字符串 num 中。最后,我们通过 parseInt 函数将拼接好的数字转换为整数并返回。
使用 ES6 新特性
如果您使用的是较新的 JavaScript 版本(如 ES6),那么您还可以使用一些新的特性来截取数字。例如,您可以使用 Number 和 filter 方法来提取数字。以下是一个示例:
const str = "今年的销售额是60000美元";
const num = Number([...str].filter(char => !isNaN(char)).join(""));
console.log(num);
在上面的代码中,我们首先使用 ES6 的扩展运算符将字符串转换为字符数组,然后使用 filter 方法筛选数组中的数字字符,并通过 join 方法将它们拼接为字符串。最后,我们使用 Number 函数将拼接完成的字符串转换为数字,并将其存储在变量 num 中。
结论
本文介绍了几种用于截取数字的方法:使用正则表达式、字符串方法和 ES6 新特性。在处理字符串中的数字时,您可以根据具体情况选择合适的方法。
极客笔记