国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

javascript實(shí)現(xiàn)十六進(jìn)制顏色值(HEX)和RGB格式相互轉(zhuǎn)換

2019-11-20 14:26:27
字體:
供稿:網(wǎng)友

在日常開發(fā)中,經(jīng)常會用到不同格式的顏色域值之間的相互轉(zhuǎn)換,以下給出一種解決方法。

復(fù)制代碼 代碼如下:

//十六進(jìn)制顏色值的正則表達(dá)式
var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;
/*RGB顏色轉(zhuǎn)換為16進(jìn)制*/
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).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+aNum);
            }
            return numHex;
        }
    }else{
        return that;       
    }};
 /*16進(jìn)制顏色轉(zhuǎn)為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;       
    }};

使用顏色轉(zhuǎn)換方法:
復(fù)制代碼 代碼如下:

ar sRgb = "RGB(23, 245, 56)" , sHex = "#34538b";
var sHexColor = sRgb.colorHex();
var sRgbColor = sHex.colorRgb();

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 永德县| 哈尔滨市| 年辖:市辖区| 阳泉市| 潮州市| 澄江县| 阳江市| 什邡市| 兴化市| 望城县| 印江| 思茅市| 棋牌| 思茅市| 长乐市| 高要市| 商水县| 榕江县| 郓城县| 阿拉善左旗| 资溪县| 望城县| 鹤山市| 孙吴县| 临洮县| 高要市| 交口县| 静宁县| 庄河市| 西林县| 全椒县| 陆丰市| 万源市| 阳城县| 龙口市| 静乐县| 巧家县| 锡林浩特市| 中西区| 伊金霍洛旗| 湾仔区|