Dans le développement quotidien, la conversion entre les valeurs de plage de couleurs dans différents formats est souvent utilisée. Une solution est donnée ci-dessous.
//Expression régulière pour la valeur de couleur hexadécimale
var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;
/*Convertir la couleur RVB en hexadécimal*/
String.prototype.colorHex = fonction(){
var ça = ceci;
Si(/^(rgb|RGB)/.test(that)){
var aColor = that.replace(/(?:(|)|rgb|RGB)*/g,"").split(",");
var strHex = "#";
pour(var i=0; i
var hex = Number(aColor).toString(16);
Si(hex === "0"){
Hex = hexa;
}
strHex = hex;
>
Si(strHex.length !== 7){
strHex = cela ;
>
return strHex;
}else if(reg.test(that)){
var aNum = that.replace(/#/,"").split("");
Si(aNum.length === 6){
retournez-le ;
}sinon if(aNum.length === 3){
var numHex = "#";
pour(var i=0; i
numHex = (aNum aNum);
}
return numHex;
>
}autre{
retournez-le ;
}};
/*Convertir la couleur hexadécimale au format RVB*/
String.prototype.colorRgb = fonction(){
var sColor = this.toLowerCase();
Si(sColor && reg.test(sColor)){
Si(sColor.length === 4){
var sColorNew = "#";
pour(var je=1; je<4; je =1){
sColorNew = sColor.slice(i,i 1).concat(sColor.slice(i,i 1));
}
sColor = sColorNew;
>
//Traitement des valeurs de couleur à six chiffres
var sColorChange = [];
pour(var je=1; je<7; je =2){
sColorChange.push(parseInt("0x" sColor.slice(i,i 2)));
>
return "RGB(" sColorChange.join(",") ")";
}autre{
renvoyer sColor ;
}};
Utilisez la méthode de conversion des couleurs :