/* @author:luowen @time:2013-10-08 @desc:js to rgb color */ <!doctype html> <html> <head> <title>js to rgb color</title> <charset=\'utf-8\' /> </head> <body> <input type=\'text\' id=\'color\' /> <button id="change">change to ten</button> <span>eg: (#fff) ==> rgb(255,255,255)</span> <br /> <input type="text" id="res" value="" /> </body> <script type="text/javascript"> //获取对象 function $(id){ return document.getElementById(id); } //响应点击函数 $(\'change\').onclick = function(){ if($(\'color\').value == \'\'){ alert(\'请输入需要转化的值如:#fff\'); return; } toRGB($(\'color\').value); } function toRGB(msg){ var re = new RegExp(/^#([0-9a-fA-F]){3,6}$/); var flag = msg.match(re); //alert(flag); if(flag == null){ //alert(msg); $(\'res\').value = msg; $(\'res\').style.color = \'red\'; } else{ //#11 11 11 var resStr = msg.substr(1); var resArr = spiltArr(resStr); var rgb = toTen(resArr); //console.log(resTen); //alert(\'rgb\'+\'(\'+rgb+\')\'); $(\'res\').value = \'rgb\'+\'(\'+rgb+\')\'; $(\'res\').style.color = \'blue\'; } } //将拿到的字符转化成十进制 function toTen(arr){ var rgb = [\'\',\'\',\'\']; for(var i = 0;i < 3; i++){ rgb[i] = parseInt(arr[i],16); } return rgb; } //将字符串分割成(cc,dd,ff)形式 function spiltArr(str){ var tmp = [\'\',\'\',\'\']; var strLen = str.length; if(strLen == 3){ var a = str.substr(0,1); var b = str.substr(1,1); var c = str.substr(2,1); tmp[0] = a + a; tmp[1] = b + b; tmp[2] = c + c; return tmp; } else if(strLen == 6){ tmp[0] = str.substr(0,2); tmp[1] = str.substr(2,2); tmp[2] = str.substr(4,2); return tmp; } } </script> </html>