SOURCE

// 题目描述
// 将 rgb 颜色字符串转换为十六进制的形式,如 rgb(255, 255, 255) 转为 #ffffff
// 1. rgb 中每个 , 后面的空格数量不固定
// 2. 十六进制表达式使用六位小写字母
// 3. 如果输入不符合 rgb 格式,返回原始输入

function rgb2hex(sRGB) {
    var flag
    var res = ''
    sRGB.replace(/(\d+)/g, function (num) {
        if (arguments.length) {
            res += ('0' + parseInt(num).toString(16)).slice(-2)
            flag = true
        } else {
            flag = false
        }

    })
    return flag ? '#' + res : sRGB
}
console.log(rgb2hex('rgb(255, 255, 0)'))
console.log(rgb2hex('abc'))
console 命令行工具 X clear

                    
>
console