項目中遇到后端配置顏色#FFF16C0E是8位澈魄,但是前端解析可能無法展示,需要轉(zhuǎn)成rgba形式后渲染,以下代碼僅供參考意鲸,
適用于將 #ffffffff 轉(zhuǎn)為 rgba(255,255,255,1)
function parseRGBA(val) {
val = val.trim().toLowerCase(); //去掉前后空格
let color = {};
try {
let argb = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(val);
color.r = parseInt(argb[2], 16);
color.g = parseInt(argb[3], 16);
color.b = parseInt(argb[4], 16);
color.a = parseInt(argb[1], 16) / 255;
} catch (e) {
console.log(e)
}
return 'rgba(' + color.r + ',' + color.g + ',' + color.b + ',' + color.a.toFixed(0) + ')';
}
//調(diào)用方法
parseRGBA('#FFF16C0E');