//获取地址栏参数
//item:参数名称;path(可选):地址
Request = {
QueryString: function (item, path)
{
if (!path)
path = location.search;
var svalue = path.match(new RegExp("[\?\&]" + item + "=([^\&]*)(\&?)", "i"));
return svalue ? svalue[1] : svalue;
},
//+---------------------------------------------------
//| 修改url里指定参数的参数值
//| requestUrl 地址(为空则使用当前地址)
//| key 参数名称
//| value 要设置的参数值
//| reg 参数正则表达式
//+---------------------------------------------------
SetQueryString: function (requestUrl, key, value, reg)
{
requestUrl || (requestUrl = window.location.search);
if (!key)
{
return requestUrl;
}
key = "&" + key;
if (!reg)
{
reg = new RegExp(key + "=" + "[A-Za-z0-9\-]*");
}
if (reg.test(requestUrl))
{
requestUrl = requestUrl.replace(reg, key + "=" + value);
}
else
{
requestUrl = requestUrl + key + "=" + value;
}
return requestUrl;
}
}
//+---------------------------------------------------
//| 打开新页面
//| openUrl:地址; winWidth:宽度;winHeight:高度
//+---------------------------------------------------
function C_Open(openUrl, winWidth, winHeight)
{
var paraOpen = "";
var left = 0, top = 0;
if (winWidth != null && winWidth != "") { left = (window.screen.width - winWidth) / 2; paraOpen += ",width=" + winWidth; }
if (winHeight != null && winHeight != "") { top = (window.screen.height - winHeight) / 2; paraOpen += ",height=" + winHeight };
if (paraOpen == "") paraOpen = ",width=" + (screen.width - 15) + ",height=" + (screen.height - 65);
paraOpen += ",top=" + top + ",left=" + left;
var oWindow = window.open(openUrl, "", "center=yes,resizable=1,scrollbars=1" + paraOpen);
oWindow.focus();
return oWindow;
}
//+---------------------------------------------------
//| 打开模态对话框
//| openUrl:地址;para:参数 winWidth:宽度;winHeight:高度
//+---------------------------------------------------
function ShowDialog(openUrl, para, winWidth, winHeight)
{
var paraOpen = "";
if (winWidth != null && winWidth != "")
{
paraOpen += "dialogWidth=" + winWidth + "px";
}
if (winHeight != null && winHeight != "")
{
paraOpen += ";dialogHeight=" + winHeight + "px";
}
if (paraOpen == "")
{
paraOpen = "dialogWidth=" + (screen.width - 15) + "px;dialogHeight=" + (screen.height - 65) + "px";
}
return window.showModalDialog(openUrl, para, "center=yes;status:0;scroll:1;help:0;" + paraOpen);
}
/**
* 对Date的扩展,将 Date 转化为指定格式的String
* 月(M)、日(d)、12小时(h)、24小时(H)、分(m)、秒(s)、周(E)、季度(q) 可以用 1-2 个占位符
* 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
* eg:
* (new Date()).format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
* (new Date()).format("yyyy-MM-dd E HH:mm:ss") ==> 2009-03-10 二 20:09:04
* (new Date()).format("yyyy-MM-dd EE hh:mm:ss") ==> 2009-03-10 周二 08:09:04
* (new Date()).format("yyyy-MM-dd EEE hh:mm:ss") ==> 2009-03-10 星期二 08:09:04
* (new Date()).format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
*/
Date.prototype.format = function (fmt)
{
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours() % 12 == 0 ? 12 : this.getHours() % 12, //小时
"H+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
var week = {
"0": "/u65e5",
"1": "/u4e00",
"2": "/u4e8c",
"3": "/u4e09",
"4": "/u56db",
"5": "/u4e94",
"6": "/u516d"
};
if (/(y+)/.test(fmt))
{
fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
}
if (/(E+)/.test(fmt))
{
fmt = fmt.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? "/u661f/u671f" : "/u5468") : "") + week[this.getDay() + ""]);
}
for (var k in o)
{
if (new RegExp("(" + k + ")").test(fmt))
{
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
}
}
return fmt;
}
window.common = {
//判断对象或字符串
isEmpty: function (item)
{
return (typeof item == undefined || item == "")
},
//判断中文
isCN: function (item)
{
return /[^\x00-\xff]/g.test(item);
},
//判断数字
isNum: function (str)
{
return !isNaN( parseFloat(obj) ) && isFinite( obj );
},
//+---------------------------------------------------
//| 日期合法性验证(简单)
//| 格式为:YYYY-MM-DD
//+---------------------------------------------------
isDate: function (DateStr)
{
return /^\d{4}-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]\d|3[0-1])$/.test(DateStr);
},
//+---------------------------------------------------
//| 日期合法性验证
//| 使用示例 (1) isDate("2/29/2012", "MM/dd/YYYY", "/")
//| (2) isDate("2005-2-30","YYYY-MM-dd","-")
//+---------------------------------------------------
isDate: function (date, dateformat, separator)
{
if (date == null || date == "") return false;
var date_part_index = this.datePartIndex(dateformat, separator);
var date_array = date.split(separator);
var yearstr = date_array[date_part_index.y];
var monthstr = date_array[date_part_index.m];
var daystr = date_array[date_part_index.d];
if (isNaN(yearstr)) return false;
if (isNaN(monthstr)) return false;
if (isNaN(daystr)) return false;
var year = parseInt(yearstr);
var month = parseInt(monthstr) - 1;
var day = parseInt(daystr);
var date = new Date(year, month, day);
var y = date.getFullYear();
var m = date.getMonth();
var d = date.getDate();
if (y != year || m != month || d != day)
{
return false;
}
return true;
},
datePartIndex: function (dateformat, separator)
{
var partIndex = {};
var part_array = dateformat.split(separator);
for (var i = 0; i < part_array.length; i++)
{
switch (part_array[i])
{
case "YYYY":
partIndex.y = i;
break;
case "MM":
partIndex.m = i;
break;
case "dd":
partIndex.d = i;
break;
}
}
return partIndex;
},
//+---------------------------------------------------
//| 获取字符串长度
//| 说明:中文及全角字符返回2
//+---------------------------------------------------
getStrLength: function (str)
{
var cArr = str.match(/[^\x00-\xff]/ig);
return str.length + (cArr == null ? 0 : cArr.length);
},
//通过时间戳获取唯一ID
getID: function ()
{
return (new Date()).getTime();
},
//删除空格
trim: function (text)
{
return text.replace(/(^\s+|\s+$)/g, '');;
},
//+---------------------------------------------------
//| 获取对象
//| 格式为:id(#id),className(.cn),tag(tag)
//+---------------------------------------------------
getObj: function (item)
{
var obj;
if (item.indexOf('.') != -1)
{
obj = this.getElementsByClassName(item.replace(/^\.{1}/, ""));
}
else if (item.indexOf('#') != -1)
{
obj = document.getElementById(item.replace(/^#{1}/, ""));
}
else
{
obj = document.getElementsByTagName(item);
}
return obj;
},
hasClass: function (ele, cls)
{
return ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'))
},
addClass: function (ele, cls)
{
if (!this.hasClass(ele, cls)) ele.className += " " + cls;
},
removeClass: function (ele, cls)
{
if (this.hasClass(ele, cls))
{
var reg = new RegExp('(\\s|^)' + cls + '(\\s|$)');
ele.className = ele.className.replace(reg, ' ');
}
},
toggleClass: function (obj, cls)
{
if (hasClass(obj, cls)) removeClass(obj, cls);
else addClass(obj, cls);
},
getElementsByClassName: function (className)
{
var children = document.getElementsByTagName('*');
var cs = new Array();
for (var j = 0; j < children.length; j++)
{
var child = children[j];
var classNames = child.className.split(' ');
for (var k = 0; k < classNames.length; k++)
{
if (classNames[k] == className)
{
cs.push(child);
break;
}
}
}
return cs;
},
//生成GUID
GUID: function ()
{
var newid = "";
for (var i = 1; i <= 32; i++)
{
var n = Math.floor(Math.random() * 16.0).toString(16);
newid += n;
if ((i == 8) || (i == 12) || (i == 16) || (i == 20))
newid += "-";
}
return newid;
},
formatDate: function (s,p)
{
return (new Date(s)).format(p);
}
}
常用js函数整理
最新推荐文章于 2023-03-29 20:49:37 发布