【面试题】JS使用parseInt()、正则截取字符串中数字

  • 【面试题】JS使用parseInt()、正则截取字符串中数字已关闭评论
  • 155 次浏览
  • A+
所属分类:Web前端
摘要

点击打开视频讲解更加详细parseInt() 函数可解析一个字符串,并返回一个整数。


JS使用parseInt()和正则截取字符串中数字

点击打开视频讲解更加详细

parseInt() 函数

定义和用法

parseInt() 函数可解析一个字符串,并返回一个整数。

当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数

当忽略参数 radix , JavaScript 默认数字的基数如下:

  • 如果 string 以 "0x" 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。
  • 如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。
  • 如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。

parseFloat() 函数

定义和用法

parseFloat() 函数可解析一个字符串,并返回一个浮点数。

该函数指定字符串中的首个字符是否是数字。如果是,则对字符串进行解析,直到到达数字的末端为止,然后以数字返回该数字,而不是作为字符串。

截取字符串中数字

1、使用parseInt()

let str = "4500元"; let num = parseInt(str); alert(num); //4500 

对,你没有看错,parseInt()方法参数可以有非数字字符串,只要数字在字符串前面就可以,遇到非数字字符停下来,返回前边的数字。

这种方式的缺点是不能提取数字在中间的字符串中的数字。

2、使用正则

let s = "价格4500元"; let num = s.replace(/[^0-9]/gi, ""); alert(num); //4500 

若对您有帮助,请点击跳转到B站一键三连哦!感谢支持!!!