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)