其他分享
首页 > 其他分享> > 颜色字符串转换

颜色字符串转换

作者:互联网

描述

将 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 }

 

标签:十六进制,颜色,ret,rgb,sRGB,字符串,转换,let,255
来源: https://www.cnblogs.com/icyyyy/p/14878324.html