颜色值相互转换---Color

颜色值相互转换,由hex到rgb或由rgb到hex,注意主要是字符串的操作和正则表达式的应用
var Color = function (){
   //将hex装换成rgb形式
   this.HexToRgb = function (str){
       var r = /^\#?[0-9a-f]{6}$/;
       if (!r.test(str)) return window.alert("输入hex颜色值有误!!!");   
       //test方法检查在字符串中是否存在一个模式,如果存在则返回true,否则返回false
            str = str.replace("#", ""); 
            //替换查找的到的字符串
            var hxs = str.match(/../g); 
            //得到查询数组
            for (var i = 0; i < 3; i++) {
                hxs[i] = parseInt(hxs[i], 16);
            }
       return hxs;
   }

   //将rgb装换成hex
   this.RgbToHex = function (a, b, c) {
      var r = /^\d{1,3}$/;
      if (!r.test(a) || !r.test(b) || !r.test(c)) return window.alert("输入rgb颜色值有误!!!");
          var hexs = [a.toString(16), b.toString(16), c.toString(16)];
          for (var i = 0; i < 3; i++) {
             if (hexs[i] == 1) hexs[i] = "0" + hexs[i];
           }
      return "#" + hexs.join("");
   }
}


posted @ 2012-01-31 17:56  前端咖  阅读(908)  评论(0编辑  收藏  举报