JS 样式字符串 转 JSON对象

项目中需要把div 上的样式值转成数据展示

形如: padding: 7px 2px 1px 3px; color: rgb(238, 65, 65); background-color: rgb(247, 106, 106); text-align: right;

转成:{ padding: '5px', text-align: 'right' }


// 样式转对象
function styleToObj(style) {
if (!style || style == '') { return }
var Arr = style.split(';')
Arr = Arr.filter(item => {
return item != ''
})
let str = ''
Arr.forEach(item => {
let test = ''
trim(item).split(':').forEach(item2 => {
test += '"' + trim(item2) + '":'
})
str += test + ','
})
str = str.replace(/:,/g, ',')
str = str.substring(0, str.lastIndexOf(','))
str = '{' + str + '}'
return JSON.parse(str)
}


/**
* 去掉字符串前后所有空格
*/

function trim (str, isglobal) {
var result
result = str.replace(/(^s+)|(s+$)/g, '')
if (isglobal && isglobal.toLowerCase() === 'g') {
result = result.replace(/s/g, '')
}
return result
}

 
原文地址:https://www.cnblogs.com/xiangsj/p/10049242.html