<script>
//方法1
function rgbToHex1(colorArr){
var strHex = "#";
for(var i=0; i<colorArr.length; i++){
var hex = Number(colorArr[i]).toString(16);
if(hex.length<2){
hex = "0" + hex;
}
strHex += hex;
}
if(strHex.length !== 7){
strHex = str;
}
return strHex;
}
//方法2
function rgbToHex2(colorArr){
var strHex = "#";
var decimal = Number(colorArr[0]) * 65536 + Number(colorArr[1]) * 256 + Number(colorArr[2]);
var hex = decimal.toString(16);
if(hex.length<6){
hex = '0' + hex;
}
strHex += hex;
return strHex;
}
//方法3
function rgbToHex3(colorArr){
r = parseInt(colorArr[0]);
g = parseInt(colorArr[1]);
b = parseInt(colorArr[2]);
return "#" + ((1 << 24) | (r << 16) | (g << 8) | b).toString(16).slice(1);
}
var rgbStr = "RGB(254,2,34)";
if(!/^(rgb|RGB)/.test(rgbStr)){
console.log('非rgb值',rgbStr);
}else{
var rgbArr = rgbStr.replace(/(?:\(|\)|rgb|RGB)*/g,"").split(","); //分割为数组
var result = rgbArr.every(item => { //判断rgb值是否合规则
return item>0 && item<256
})
if(!result){
console.log('错误的rgb值:',rgbStr);
}else{
console.log(rgbToHex1(rgbStr));
console.log(rgbToHex2(rgbStr));
console.log(rgbToHex3(rgbStr));
}
}
</script>
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。