颜色值相互转换---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("");
}
}