1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
function getRGB(color) {
// 检查十六进制颜色值格式
var colorReg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/,
rgbColor = [],
i;

function formatColor(colorFragment) {
// parseInt第二个参数代表的是:说明第一个参数属于什么数值类型
return parseInt('0x'+colorFragment, 16);
}

if (!!color && colorReg.test(color)) {
for (i = 1; i < color.length; i++) {
// 区分四位和七位十六进制颜色值
if (color.length === 4) {
rgbColor.push(formatColor(color.slice(i, i+1).concat(color.slice(i, i+1))));
} else {
rgbColor.push(formatColor(color.substr(i, 2)));
i++;
}
}
return 'rgb('+rgbColor.join(',')+')';

} else {
return color;
}

}