// by zhangxinxu welcome to visit my personal website http://www.zhangxinxu.com/ // 2010-03-12 v1.0.0 //鍗佸叚杩涘埗棰滆壊鍊煎煙RGB鏍煎紡棰滆壊鍊间箣闂寸殑鐩镐簰杞崲 //------------------------------------- //鍗佸叚杩涘埗棰滆壊鍊肩殑姝e垯琛ㄨ揪寮� var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/; /*RGB棰滆壊杞崲涓�16杩涘埗*/ String.prototype.colorHex = function(){ var that = this; if(/^(rgb|RGB)/.test(that)){ var aColor = that.replace(/(?:\(|\)|rgb|RGB)*/g,"").split(","); var strHex = "#"; for(var i=0; i<aColor.length; i++){ var hex = Number(aColor[i]).toString(16); if(hex === "0"){ hex += hex; } strHex += hex; } if(strHex.length !== 7){ strHex = that; } return strHex; }else if(reg.test(that)){ var aNum = that.replace(/#/,"").split(""); if(aNum.length === 6){ return that; }else if(aNum.length === 3){ var numHex = "#"; for(var i=0; i<aNum.length; i+=1){ numHex += (aNum[i]+aNum[i]); } return numHex; } }else{ return that; } }; //------------------------------------------------- /*16杩涘埗棰滆壊杞负RGB鏍煎紡*/ String.prototype.colorRgb = function(){ var sColor = this.toLowerCase(); if(sColor && reg.test(sColor)){ if(sColor.length === 4){ var sColorNew = "#"; for(var i=1; i<4; i+=1){ sColorNew += sColor.slice(i,i+1).concat(sColor.slice(i,i+1)); } sColor = sColorNew; } //澶勭悊鍏綅鐨勯鑹插€� var sColorChange = []; for(var i=1; i<7; i+=2){ sColorChange.push(parseInt("0x"+sColor.slice(i,i+2))); } return "RGB(" + sColorChange.join(",") + ")"; }else{ return sColor; } };
用js实现颜色编码十六进制和十进制的转换
最新推荐文章于 2023-12-04 11:38:16 发布