仔细观察本题,本题可分为三个步骤:
- 从
rgb(255, 255, 255)
中提取出r=255
、g=255
、b=255
- 将
r
、g
、b
转换为十六进制,不足两位则补零 - 组合
#
提取 r、g、b
方式一:利用 match
利用 match()
方法,读取出 r
、 g
、 b
function rgb2hex(sRGB) {
const reg = /^(rgb|RGB)\(\s*(\d{1,3})\s*,\s*(\d{1,3}\s*),\s*(\d{1,3})\s*\)$/
const rbg = sRGB.match(reg)
return rbg
}
// 测试
rgb2hex('rgb(255, 255, 255)')
// ["rgb(255, 255, 255)", "rgb", "255", "255", "255", index: 0, input: "rgb(255, 255, 255)", groups: undefined]
rgb2hex('rgb(16, 10, 255)')
// ["rgb(16, 10, 255)", "rgb", "16", "10", "255", index: 0, i