js 将color值rgb转化为16进制

javascript通过dom获得backgroundColor等style的颜色值时得到的是一个rgb格式的值,如rgb(12,12,12).
下面是我写的一个转换函数:
          
        

function RGBToHex(rgb){
   var regexp = /^rgb/(([0-9]{0,3})/,/s([0-9]{0,3})/,/s([0-9]{0,3})/)/g;
   var re = rgb.replace(regexp, "$1 $2 $3").split(" ");//利用正则表达式去掉多余的部分 
   var hexColor = "#"; var hex = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F']; 
   for (var i = 0; i < 3; i++) { 
        var r = null; var c = re[i];
        var hexAr = []; 
        while (c > 16) { 
              r = c % 16; 
              c = (c / 16) >> 0;
              hexAr.push(hex[r]); 
         } hexAr.push(hex[c]); 
       hexColor += hexAr.reverse().join('');
    } 
   //alert(hexColor) 
   return hexColor; 
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值