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.

147 lines
4.3 KiB

function setCookie(name, value)
{
var date = new Date(); //获取当前时间
var exp = 10; //expiresDays缩写exp(有效时间)
date.setTime(date.getTime() + exp * 24 * 3600 * 1000); //格式化为cookie识别的时间
document.cookie=escape(name) + "=" + escape(value) + ";expires="+date.toGMTString(); //将name设置为10天后过期,超过这个时间name这条cookie会消失
}
function getCookie(name)
{
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
if(arr=document.cookie.match(reg))
return unescape(arr[2]);
else
return null;
}
function urlencode (str) {
str = (str + '').toString();
return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').
replace(/\)/g, '%29').replace(/\*/g, '%2A').replace(/%20/g, '+');
}
//十六进制颜色值域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;
}
//检查是否为正浮点数
function isFloat(str) {
var reg = /^(0|[1-9]\d*|[1-9]\d*\.\d+|0\.\d*[1-9]\d*)$/;
if (reg.test(str)) {
return true;
} else {
return false;
}
}
//获取cookie
function getCookie(name) {
var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
if (arr = document.cookie.match(reg))
return unescape(arr[2]);
else
return null;
}