颜色字符串转换

描述

将 rgb 颜色字符串转换为十六进制的形式,如 rgb(255, 255, 255) 转为 #ffffff
1. rgb 中每个 , 后面的空格数量不固定
2. 十六进制表达式使用六位小写字母
3. 如果输入不符合 rgb 格式,返回原始输入

示例1

输入:'rgb(255, 255, 255)'

输出:#ffffff

 1 function rgb2hex(sRGB) {
 2     let re = /rgb\((\d+),\s*(\d+),\s*(\d+)\)/,
 3         ret = sRGB.match(re),
 4         head = "#";
 5     if(!ret) return sRGB;
 6     else {
 7         for(let i = 1; i < ret.length; i++) {
 8             let x = parseInt(ret[i]);
 9             if(x >= 0 && x <= 255) {
10                 head += x < 16 ? '0' + x.toString(16) : x.toString(16);
11             } else return sRGB;
12         }
13     }
14     return head
15 }

 

上一篇:颜色值的各种玩法及区别:#FFFFFF,rgb(256, 256, 256),0xFFFFFF


下一篇:后台指标计算返回数据格式说明10 - FILLRGN格式