javascript - 关于字符串的截取
ringa_lee
ringa_lee 2017-05-19 10:11:49
0
8
633

比如有字符串 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、切片、正则表达式

洪涛

雷雷

巴扎黑

用正则最方便

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板