国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 海门市| 科技| 昌吉市| 中阳县| 濮阳市| 建水县| 常宁市| 宜城市| 乐都县| 新邵县| 台湾省| 安乡县| 独山县| 昌江| 布拖县| 玛沁县| 平乐县| 曲水县| 八宿县| 信丰县| 巧家县| 阜新| 古蔺县| 中宁县| 合川市| 新余市| 宁海县| 洛南县| 军事| 布尔津县| 房产| 承德县| 榕江县| 淳化县| 敦化市| 淮南市| 白朗县| 五原县| 蒲江县| 南澳县| 宝坻区|