JavaScript随机生成颜色以及十六进制颜色 与RGB颜色值的相互转换
Posted web前端之春秋战国
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript随机生成颜色以及十六进制颜色 与RGB颜色值的相互转换相关的知识,希望对你有一定的参考价值。
/** * 随机生成颜色 * @return 随机生成的十六进制颜色 */ function randomColor(){ var colorStr=Math.floor(Math.random()*0xFFFFFF).toString(16).toUpperCase(); return"#"+"000000".substring(0,6-colorStr)+colorStr; }
/** * 十六进制颜色转换为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; } }
/** * 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; } }
以上是关于JavaScript随机生成颜色以及十六进制颜色 与RGB颜色值的相互转换的主要内容,如果未能解决你的问题,请参考以下文章