Saya ingin mengkonversi string warna RGB ke HEX dan sebaliknya di JavaScript apakah ada fungsi yang disediakan atau harus membuat sendiri ya? Kalau harus membuat sendiri bagaimana caranya?
Untuk RGB ke HEX, jika inputnya adalah rgb(255,255,255)
outputnya harus #ffffff
, kalau untuk HEX ke RGB, jika inputnya adalah #ffffff
outputnya rgb(255,255,255)
.
Setau saya tidak ada fungsi bawaan yang bisa melakukan ini, buat aja sendiri.
Seperti ini:
function hexToRgb(hex) {
const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
return result
? `rgb(${result
.slice(1)
.map((c) => parseInt(c, 16))
.join(",")})`
: null;
}
function rgbToHex(rgb) {
return (
"#" +
rgb
.match(/\d+/g)
.map((c) => Number(c).toString(16).padStart(2, "0"))
.join("")
);
}
const hex = "#ffffff";
const rgb = "rgb(255,255,255)";
console.log(hexToRgb(hex)); // rgb(255,255,255)
console.log(rgbToHex(rgb)); // #ffffff
Kamu tau jawabannya?
Ayo bergabung bersama lebih dari 200.000 pengguna lainnya!