我们开发的阅读器需要将fontSize信息存在cookie里,用的是rem单位的。
担心有些浏览器会把1.0rem存成1rem这样的形式,所以不能简单靠位数分解这个字符串。
请问JS中有什么方法可以只取出前面的数字啊?
多谢
迷茫2017-04-10 17:49:53
方法太多了,假设size = '1.0rem'
或者size = '1rem'
截取除了后三位的子串 size.substring(0, size.length-3)
直接parseInt parseInt(size)
,会直接忽略后面非数字部分
去掉rem size.replace('rem', '')
用正则把前面的数字部分提取出来 /\d+(\.\d+)?/.exec(size)[0]
等等等等。。。
巴扎黑2017-04-10 17:49:53
正则表达式啊,多好用的东西
var a = [
"1.0rem",
"1rem",
"font-size: 1.2rem"
];
a.forEach(function(s) {
// 注意这里啦
var m = s.match(/(\d+(?:\.\d+)?)/);
console.log(m[1]);
});