You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

132 lines
3.8 KiB

//十六进制颜色值域RGB格式颜色值之间的相互转换
//-------------------------------------
//十六进制颜色值的正则表达式
var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;
/*RGB颜色转换为16进制*/
String.prototype.colorHex = function () {
var that = this;
if (/^(rgb|RGB)/.test(that)) {
var aColor = that.replace(/(?:\(|\)|rgb|RGB)*/g, "").split(",");
var strHex = "#";
for (var i = 0; i < aColor.length; i++) {
var hex = Number(aColor[i]).toString(16);
if (hex === "0") {
hex += hex;
}
strHex += hex;
}
if (strHex.length !== 7) {
strHex = that;
}
return strHex;
} else if (reg.test(that)) {
var aNum = that.replace(/#/, "").split("");
if (aNum.length === 6) {
return that;
} else if (aNum.length === 3) {
var numHex = "#";
for (var i = 0; i < aNum.length; i += 1) {
numHex += (aNum[i] + aNum[i]);
}
return numHex;
}
} else {
return that;
}
};
//-------------------------------------------------
/*16进制颜色转为RGB格式*/
String.prototype.colorRgb = function () {
var sColor = this.toLowerCase();
if (sColor && reg.test(sColor)) {
if (sColor.length === 4) {
var sColorNew = "#";
for (var i = 1; i < 4; i += 1) {
sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1));
}
sColor = sColorNew;
}
//处理六位的颜色值
var sColorChange = [];
for (var i = 1; i < 7; i += 2) {
sColorChange.push(parseInt("0x" + sColor.slice(i, i + 2)));
}
return "RGB(" + sColorChange.join(",") + ")";
} else {
return sColor;
}
};
//-------------------------------------------------
// var sRgb = "RGB(255, 255, 255)" , sHex = "#00538b";
// var sHexColor = sRgb.colorHex();//转换为十六进制方法
// var sRgbColor = sHex.colorRgb();//转为RGB颜色值的方法
// console.log(sHexColor);
// console.log(sRgbColor);
/**
* 获取指定年月的最后一天
* @param {Number} year 年份,公元年
* @param {Number} month 月份有效值1~12
* @return {Number} 返回1~31之间的一个数
*/
function getLastDay(year, month) {
var d = new Date(0);
if (month == 12) {
d.setUTCFullYear(year + 1);
d.setUTCMonth(0);
} else {
d.setUTCFullYear(year);
d.setUTCMonth(month);
}
d.setTime(d.getTime() - 1);
return d.getUTCDate();
}
/**
* 功能:转换字符串到日期
*/
function convertStrToDate(date) {
date = date.substring(0, 19);
date = date.replace(/-/g, '/');
var timestamp = new Date(date).getTime();
// 根据毫秒数构建 Date 对象
var d1 = new Date(timestamp);
return d1;
}
//迭代方式实现
function padding1(num, length) {
for (var len = (num + "").length; len < length; len = num.length) {
num = "0" + num;
}
return num;
}
//动态加载js并运行
//用法
//loadJS('file.js',function(){
// alert(1);
//});
function loadJS(url, callback) {
var script = document.createElement('script'),
fn = callback || function () {
};
script.type = 'text/javascript';
//IE
if (script.readyState) {
script.onreadystatechange = function () {
if (script.readyState == 'loaded' || script.readyState == 'complete') {
script.onreadystatechange = null;
fn();
}
};
} else {
//其他浏览器
script.onload = function () {
fn();
};
}
script.src = url;
document.getElementsByTagName('head')[0].appendChild(script);
}