In der täglichen Entwicklung wird häufig die Konvertierung zwischen Farbbereichswerten in verschiedenen Formaten verwendet. Nachfolgend finden Sie eine Lösung.
//Regulärer Ausdruck für hexadezimalen Farbwert
var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;
/*RGB-Farbe in Hexadezimal umwandeln*/
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
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){
gib das zurück;
}else if(aNum.length === 3){
var numHex = "#";
for(var i=0; i
numHex = (aNum aNum);
}
return numHex;
}
}else{
gib das zurück;
}};
/*Hexadezimale Farbe in RGB-Format konvertieren*/
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;
}
//Verarbeitung sechsstelliger Farbwerte
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;
}};
Verwenden Sie die Farbkonvertierungsmethode:
Der Code lautet wie folgt:
ar sRgb = "RGB(23, 245, 56)" , sHex = "#34538b";
var sHexColor = sRgb.colorHex();
var sRgbColor = sHex.colorRgb();