将 rgb 颜色字符串转换为十六进制的形式,如 rgb(255, 255, 255) 转为 #ffffff
1. rgb 中每个 , 后面的空格数量不固定
2. 十六进制表达式使用六位小写字母
1. rgb 中每个 , 后面的空格数量不固定
2. 十六进制表达式使用六位小写字母
3. 如果输入不符合 rgb 格式,返回原始输入
function rgb2hex(sRGB) {
var reg=
new
RegExp(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/);
var res=reg.test(sRGB);
if
(!res)
return
sRGB;
else
{
var str=
'#'
;
var ret=sRGB.match(reg);
for
(var i=
1
;i<
4
;i++){
var m=parseInt(ret[i]);
str+=(m<
16
?
'0'
+m.toString(
16
):m.toString(
16
));
}
}
return
str;
}
|