RGB颜色值转换成十六进制

function transferRgbToStr(color) {
        if (typeof color !== 'string' && !(color instanceof String) || !~color.indexOf('rgb')) return console.error("请输入rgb形式的颜色值");
        color = color.replace(/s+/g, '');
        var index = color.indexOf('(') + 1;
        //注意: String 的slice方法,slice方法参数为负数时,即为倒数
        // substring 方法参数为负数时,全都认为是0
        var colors = color.slice(index, -1).split(',').slice(0, 3);
        for (var i = 0; i < colors.length; i++) {
            if (parseInt(colors[i], 10) > 255 || parseInt(colors[i], 10) < 0)
                return console.error("颜色值范围在0到255之间,请注意输入值!")
            colors[i] = parseInt(colors[i], 10).toString(16);
            if (colors[i].length === 1) {
                colors[i] = "0" + colors[i]
            }
        }
        return colors.join("");
    }

transferRgbToStr传入的值是rgb(0,0,0)
原文地址:https://www.cnblogs.com/C-target/p/11334996.html