JavaScript实现RGB颜色值转十六进制(HEX)代码

作者:异步漫步时间:2026-10-23 14:33:41浏览:341

本文提供一段JavaScript代码,用于将RGB颜色字符串转换为HTML标准的十六进制(HEX)格式。函数通过解析RGB数值,计算对应的十进制值并转换为十六进制字符串,不足位数时自动补零。代码包含处理已存在#号前缀及兼容不同浏览器解析差异的逻辑,适用于前端开发中的颜色值处理场景。

RGB转HEX转换代码实现

代码如下:

以下代码实现将数值转换为固定长度的十六进制字符串,若长度不足则自动补0。
function zero_fill_hex(num, digits) {
var s = num.toString(16);
while (s.length < digits)
s = "0" + s;
return s;
} 
由于难以直接通过搜索获取JavaScript中获取背景色数值的方法,此处采用手动解析的方式。
function rgb2hex(rgb) {
注意:Firefox与IE浏览器在此处的行为可能存在差异。
if (rgb.charAt(0) == '#')
return rgb;
var n = Number(rgb);
var ds = rgb.split(/\D+/);
var decimal = Number(ds[1]) * 65536 + Number(ds[2]) * 256 + Number(ds[3]);
return "#" + zero_fill_hex(decimal, 6);
} 
作者最新文章