JS使用parseInt()和正則截取字符串中數(shù)字
parseInt() 函數(shù)
定義和用法
parseInt() 函數(shù)可解析一個字符串,并返回一個整數(shù)唁桩。
當參數(shù) radix 的值為 0敛惊,或沒有設(shè)置該參數(shù)時,parseInt() 會根據(jù) string 來判斷數(shù)字的基數(shù)
當忽略參數(shù) radix , JavaScript 默認數(shù)字的基數(shù)如下:
- 如果 string 以 "0x" 開頭凸克,parseInt() 會把 string 的其余部分解析為十六進制的整數(shù)。
- 如果 string 以 0 開頭闷沥,那么 ECMAScript v3 允許 parseInt() 的一個實現(xiàn)把其后的字符解析為八進制或十六進制的數(shù)字萎战。
- 如果 string 以 1 ~ 9 的數(shù)字開頭,parseInt() 將把它解析為十進制的整數(shù)舆逃。
parseFloat() 函數(shù)
定義和用法
parseFloat() 函數(shù)可解析一個字符串蚂维,并返回一個浮點數(shù)。
該函數(shù)指定字符串中的首個字符是否是數(shù)字路狮。如果是虫啥,則對字符串進行解析,直到到達數(shù)字的末端為止奄妨,然后以數(shù)字返回該數(shù)字涂籽,而不是作為字符串。
截取字符串中數(shù)字
1砸抛、使用parseInt()
let str = "4500元";
let num = parseInt(str);
alert(num); //4500
對评雌,你沒有看錯树枫,parseInt()方法參數(shù)可以有非數(shù)字字符串,只要數(shù)字在字符串前面就可以景东,遇到非數(shù)字字符停下來砂轻,返回前邊的數(shù)字。
這種方式的缺點是不能提取數(shù)字在中間的字符串中的數(shù)字斤吐。
2搔涝、使用正則
let s = "價格4500元";
let num = s.replace(/[^0-9]/gi, "");
alert(num); //4500