JavaScript随机生成颜色以及十六进制颜色
与RGB颜色值的相互转换
1.随机生成的十六进制颜色
/**
* 随机生成颜色
* @return 随机生成的十六进制颜色
*/
function randomColor(){
var colorStr=Math.floor(Math.random()*0xFFFFFF).toString(16).toUpperCase();
return"#"+"000000".substring(0,6-colorStr)+colorStr;
}
2.十六进制颜色转换为RGB颜色
/**
* 十六进制颜色转换为RGB颜色
* @param color 要转换的十六进制颜色
* @return RGB颜色
*/
function colorHexToRGB(color){
color=color.toUpperCase();
var regexpHex=/^#[0-9a-fA-F]{3,6}$/;//Hex
if(regexpHex.test(color)){
var hexArray=new Array();
var count=1;
for(var i=1;i<=3;i++){
if(color.length-2*i>3-i){
hexArray.push(Number("0x"+color.substring(count,count+2)));
count+=2;
}else{
hexArray.push(Number("0x"+color.charAt(count)+color.charAt(count)));
count+=1;
}
}
return"RGB("+hexArray.join(",")+")";
}else{
return color;
}
}
3.RGB颜色转换为十六进制颜色
/**
* RGB颜色转换为十六进制颜色
* @param color 要转换的RGB颜色
* @return 十六进制颜色
*/
function colorRGBToHex(color){
var regexpRGB=/^(rgb|RGB)([0-9]{1,3},s?[0-9]{1,3},s?[0-9]{1,3})$/;//RGB
if(regexpRGB.test(color)){
color=color.replace(/((|)|rgb|RGB)*/g,"").split(",");
var colorHex="#";
for(var i=0;i<color.length;i++){
var hex=Number(color[i]).toString(16);
if(hex.length==1) hex="0"+hex;
colorHex+=hex;
}
return colorHex;
}else{
return color;
}
}
转载地址:http://www.thinksaas.cn/group/topic/268437/