- //-------------------------------------
- //十六进制颜色值的正则表达式
- var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;
- /*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(",") + ")";
- //或
- //return "rgba(" + sColorChange.join(",") + ",0.8)";
- }else{
- return sColor;
- }
- };
2.调用方法
- var sHex = "#00538b";
- var sRgbColor = sHex.colorRgb();//转为RGB颜色值的方法