색상 값 가 져 오기 16 진수 로 변환
2. 실현:
/**
* [parserColor ]
* @param {[String]} value [ ]
* @return {[String]} [ ,#0000FF ]
*/
function parserColor (value){
var
str = "",
arr = [],
arri = "",
i = 0,
vlen = value.length,
colorObj = {
"black":"000000",
"red":"0000FF",
"blue":"FF0000",
"white":"FFFFFF",
"yellow":"FFFF00",
"orange":"FFA500"
};
//rgb(0,0,255)
if(/rgb/.test(value)){
arr = value.match(/\d+/g);
vlen = arr.length;
for(; i < vlen ; i++){
arri = parseInt(arr[i]);
//
str += arri < 10 ? "0" + arri.toString(16) : arri.toString(16);
}
}else if(/^#/.test(value)){
//#00f
if(vlen == 4){
str = value.replace(/[A-Za-z0-9]/g,"$&$&");
}else if(vlen == 7){
//#FF0000
str = value.replace(/^#([A-Za-z0-9]*)/,"$1");
}else{
str = "FFFFFF";
}
}else{
//red/orange
value = value.toLowerCase();
str = colorObj[value] ? colorObj[value] : "FFFFFF";//
}
return "#" + str.toUpperCase();
}
3. 실례:
console.log(parserColor("white"));//#FFFFFFF
console.log(parserColor("#00f"));//#0000FF
console.log(parserColor("rgb(0,0,255)"));//#0000FF
전재 원본 을 존중 하고 출처 벤 자 민 - 전단 공 성사, 본 페이지 주 소 를 밝 혀 주 십시오.http://blog.csdn.net/cuew1987/article/details/17679033감사합니다!