比如有字符串 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]
}