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);
} 作者最新文章
D3.js 比例尺与坐标轴的配置详解
2026-11-05 16:54:46
JavaScript怎么遍历对象的Symbol键和不可枚举属性
2026-11-05 13:13:39
封装一个健壮的JS字符串判空工具函数
2026-11-05 12:16:14
JavaScript合并数组的三种常用方法:concat、扩展运算符与push
2026-11-05 11:22:29
JavaScript立即执行函数(IIFE)是什么及基本语法
2026-11-05 10:51:19
