function rgb2hex(sRGB) {
// 判断是否为正确格式
if (!/^rgb\((\d{1,3},\s*){2}\d{1,3}\)$/.test(sRGB)) return sRGB;
// 截取数组部分后拆分数组,判断每一项转换成16后的长度,长度不够2则头部补零并化小写,最后返回数组结果
const arr = sRGB
.slice(4, sRGB.length - 1)
.split(",")
.map((item) =>
(+item).toString(16).length <= 1
? "0" + (+item).toString(16).toLowerCase()
: (+item).toString(16).toLowerCase()
);
// 转为指定字符串格式
const colorStr = arr.join("");
return `#${colorStr}`;
}

京公网安备 11010502036488号