颜色16进制转RGB

410 阅读1分钟
 function toRGB(hex){
            //将颜色参数转换成小写
            let lowerHex = hex.toLowerCase()
            let regExp = /^#([0-9a-f]{3}|[0-9a-f]{6})$/
            //将四位颜色值转换为七位
            hex = hex.match(regExp)[1].length == 3 ?  hex[1] + hex[1] + hex[2] + hex[2] + hex[3] +hex[3] : hex.slice(1,)
            //十进制与十六进制匹配表
            let match = {
                0:0,
                1:1,
                2:2,
                3:3,
                4:4,
                5:5,
                6:6,
                7:7,
                8:8,
                9:9,
                a:10,
                b:11,
                c:12,
                d:13,
                e:14,
                f:15
            }
            //进制换算
            let rgb = (match[hex[0]]*16+ match[hex[1]]) + ',' + (match[hex[2]]*16 + match[hex[3]]) + ',' + (match[hex[4]]*16+ match[hex[5]])
            return 'rgb('+rgb+')'
}