js实现十六进制HEX颜色值转rgb格式颜色值
JavaScipt
2022-09-08 11:12:32
颜色格式转换在开发中是一个非常常见的操作,那么我们前端要如何通过js代码来实现该功能呢?
HEX十六进制和RGB颜色格式转换效果如图:
相关代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>js十六进制HEX转RGB格式颜色值</title>
</head>
<body>
<script>
function hexTorgb(str) {
let _this = this
let r = /^\#?[0-9A-Fa-f]{6}$/;
//test方法检查在字符串中是否存在一个模式,如果存在则返回true,否则返回false
if (!r.test(str)) return alert('输入错误的hex颜色值');
//replace替换查找的到的字符串
str = str.replace("#", "");
//match得到查询数组
let hxs = str.match(/../g);
for (let i = 0; i < 3; i++) hxs[i] = parseInt(hxs[i], 16);
return hxs;
}
console.log("转换前HEX十六进制:#ffffff")
console.log("转换后RGB格式:"+hexTorgb("#ffffff"))
</script>
</body>
</html>
代码详解:
1、该代码在判断你输入数据的格式中使用正则表达,输入的HEX数据必须为数字,长度为6,大写字母或小写字母a-f之间。
2、有的简写十六进制如常见的#FFF,#000,#F00(白,黑,红)。需要你改成长度为六位的数据格式。
3、你也可以更改正则,但并不建议你这么做。
4、反馈的RGB格式数据为对应的数值和逗号分隔,如果需要RGB(0,0,0)格式,需要自行拼接
六月初字帖坊小程序
你想要的字帖模板及工具,这里都有!
877篇文章
2049人已阅读