十六进制颜色转换为GRB

原创 recollection 随笔 JavaScript 198阅读 2017-05-10 12:39:22 举报

//第一种
function getrgb(str){
var pattern =new RegExp(/^#[0-9a-fA-F]{6}$/);
if(!pattern.test(str)){
console.log("invalid hex");
return;
}
var num = parseInt(str.slice(1),16);

var b = num % 256;
num = parseInt(num / 256);
var g = num % 256;
num = parseInt(num / 256);
var r = num % 256;

return 'rgb('+r+","+g+","+b+")";
}
console.log(getrgb('#ababab'))
//第二种
function getrgb(str){
var pattern =new RegExp(/^#[0-9a-fA-F]{6}$/);
if(!pattern.test(str)){
console.log("invalid hex");
return;
}
var num = parseInt(str.slice(1),16);
return 'rgb('+((num >>> 16) & 255)+","+((num >>> 8) & 255)+","+(num & 255 )+")";
//第三种
function getrgb(str){
var pattern =new RegExp(/^#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/);
var arr=str.match(pattern);
if(!arr){
console.log("invalid hex");
return;
}
return 'rgb('+parseInt(arr[1],16)+","+parseInt(arr[2],16)+","+parseInt(arr[3],16)+")";
}

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复