例如有字串a = "8px";
數字的位數不一定,想截取出數字,想的是a.substring(0,a.indexOf("p")),本來想用a.substring(0,-2);但一查才知道substring參數不能為負數,但是覺得a.substring(0,a.indexOf("p"))有點麻煩,請問有更直接的最佳化方法嗎?
天蓬老师2017-05-19 10:13:49
第一種可以用substring方法:a.substring(0,a.length-2)
第二種可以用正規表示式:var a='8px';a.replace(/px$/ig,'' )
巴扎黑2017-05-19 10:13:49
用正規最方便
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]
}