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