javascript - 關於字串的截取
ringa_lee
ringa_lee 2017-05-19 10:11:49
0
8
615

例如有字串a = "8px";
數字的位數不一定,想截取出數字,想的是a.substring(0,a.indexOf("p")),本來想用a.substring(0,-2);但一查才知道substring參數不能為負數,但是覺得a.substring(0,a.indexOf("p"))有點麻煩,請問有更直接的最佳化方法嗎?

ringa_lee
ringa_lee

ringa_lee

全部回覆(8)
漂亮男人

var a="88px";
如果格式一致,前面部分都是數字且只需要提取數字可以用:
parseInt(a);//88

仅有的幸福

用正規

console.log('8px'.match(/(\d+)/)[0])
Peter_Zhu

第一種可以用substring方法:a.substring(0,a.length-2)
第二種可以用正規表示式:var a='8px';a.replace(/px$/ig,'' )

滿天的星座

雷雷

大家讲道理

parseInt、parseFloat、slice、regexp

洪涛

雷雷

巴扎黑

用正規最方便

var reg = /([\d\.]+)px/; // 使用这个正则匹配
var arr = ['8px', '18px', '28px', '0.08px']
for (let i = 0, len = arr.length; i < len; i++) {
    console.log(arr[i], arr[i].match(reg)[1]);  // 结果arr[i].match(reg)[1]
}
黄舟

對你們無語了,難道不能用parseInt, parseFloat

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板