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}`; }