hex格式转为html,RGB格式颜色和十六进制(hex)互转

进行颜色处理时,经常会用到颜色各种表示方法之间的转换。

下面是RGB格式颜色和十六进制(hex)互转代码:

// 将hex表示方式转换为rgb表示方式(这里返回rgb数组组合)

function colorRgb(sColor){

var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;

var sColor = sColor.toLowerCase();

if(sColor && reg.test(sColor)){

if(sColor.length === 4){

var sColorNew = "#";

for(var i=1; i<4; i+=1){

sColorNew += sColor.slice(i,i+1).concat(sColor.slice(i,i+1));

}

sColor = sColorNew;

}

//处理六位的颜色值

var sColorChange = [];

for(var i=1; i<7; i+=2){

sColorChange.push(parseInt("0x"+sColor.slice(i,i+2)));

}

return sColorChange;

}else{

return sColor;

}

};

// 将rgb表示方式转换为hex表示方式

function colorHex(rgb){

var _this = rgb;

var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;

if(/^(rgb|RGB)/.test(_this)){

var aColor = _this.replace(/(?:\(|\)|rgb|RGB)*/g,"").split(",");

var strHex = "#";

for(var i=0; i

var hex = Number(aColor[i]).toString(16);

hex = hex<10 ? 0+''+hex :hex;// 保证每个rgb的值为2位

if(hex === "0"){

hex += hex;

}

strHex += hex;

}

if(strHex.length !== 7){

strHex = _this;

}

return strHex;

}else if(reg.test(_this)){

var aNum = _this.replace(/#/,"").split("");

if(aNum.length === 6){

return _this;

}else if(aNum.length === 3){

var numHex = "#";

for(var i=0; i

numHex += (aNum[i]+aNum[i]);

}

return numHex;

}

}else{

return _this;

}

}

console.log(colorRgb('#043869'));

console.log(colorHex('rgb(150,01,89)'));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值