/** * 鏂规硶璇存槑: 鑾峰彇IE鐗堟湰 */ window._IE = (function () { var v = 3, div = document.createElement('div'), all = div.getElementsByTagName('i'); while ( div.innerHTML = '', all[0] ); return v > 4 ? v : false; }()); /** * 鏁扮粍鍘婚櫎閲嶅椤 arr = arr.unique2(); */ Array.prototype.unique2 = function () { return this.sort().join(",,").replace(/(,|^)([^,]+)(,,\2)+(,|$)/g, "$1$2$4").replace(/,,+/g, ",").replace(/,$/, "").split(","); } /** * 鏁扮粍涓槸鍚﹀寘鏌愪竴涓€?鍖哄垎澶у皬鍐? * @param param 鏁扮粍鍊 */ Array.prototype.contains = function (param) { for (i = 0; i < this.length; i++) { if (this[i] == param) { return true; } } return false; }; (function ($, window, document) { $(function () { $.extend({ /** * 鏂规硶璇存槑: json杞垚string * author: 绫冲嵃鏈 */ JsonToString: function (obj) { var THIS = this; switch (typeof (obj)) { case 'boolean': return obj.toString(); case 'string': return '"' + obj.replace(/(["\\])/g, '\\$1') + '"'; case 'array': return '[' + obj.map(THIS.JsonToString).join(',') + ']'; case 'object': if (obj instanceof Array) { var strArr = []; var len = obj.length; for (var i = 0; i < len; i++) { strArr.push(THIS.JsonToString(obj[i])); } return '[' + strArr.join(',') + ']'; } else if (obj == null) { return 'null'; } else { var string = []; for (var property in obj) string.push(THIS.JsonToString(property) + ':' + THIS.JsonToString(obj[property])); return '{' + string.join(',') + '}'; } case 'number': return obj; case 'function': case 'undefined': case 'null': return '""'; case false: return obj; } }, /** * 鏂规硶璇存槑: 鐢熸垚闅忓嵆瀛楃涓 * author: 绫冲嵃鏈 * @param int len 瀛楃涓查暱搴 */ RoundString: function (len) { len = len || 8; var str = ['a', 'b', 'c', 'd', 'e', 'f', 'h', 'j', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '_']; var hash = ''; for (i = 0; i < len; i++) { var r = str[Math.ceil(Math.random() * 100)]; if (r != undefined) hash += r; } if (hash.length < len) hash += $.RoundString(len - hash.length); return hash; }, /** * 鏂规硶璇存槑: 鏍煎紡鍖栨棩鏈 * author: 绫冲嵃鏈 * @param Date date 鏃堕棿 * @param string format 鏃ユ湡鏍煎紡 */ FormatDate: function (date, format) { format = format || "yyyy-MM-dd HH:mm:ss"; date = !date ? new Date() : typeof (date) == 'string' ? new Date(date.replace(/-/g,"/")) : date; var o = { "M+": date.getMonth() + 1, //鏈堜唤 "d+": date.getDate(), //鏃 "H+": date.getHours(), //灏忔椂 "m+": date.getMinutes(), //鍒 "s+": date.getSeconds(), //绉 "q+": Math.floor((date.getMonth() + 3) / 3), //瀛e害 "S": date.getMilliseconds() //姣 }; if (/(y+)/.test(format)) format = format.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(format)) format = format.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); return format; }, ConvertDate: function (date, format) { var reg = /^\/Date\(([0-9+]{13,18})\)\/$/; if (date && reg.test(date)) { date = date.match(/([0-9+]{13,18})/g); date = new Date(parseInt(date[0])); var _date = new Date(); format = format || 'yyyy-MM-dd'; //if ($.DateFormat(date, 'yyyy-MM-dd') == $.DateFormat(_date, 'yyyy-MM-dd')) { // format = "HH:mm"; //} else if (date.getFullYear() == _date.getFullYear()) { // format = 'MM-dd HH:mm'; //} return $.FormatDate(date, format); } }, /** * 鏂规硶璇存槑: 鏍煎紡鍖栨枃浠跺ぇ灏 * author: 绫冲嵃鏈 * @param int float 鏂囦欢澶у皬 瀛楄妭 * @param int pointLength 灏忔暟鐐逛箣鍚庝繚鐣欑殑闀垮害 * @param Array units 鏂囦欢鍗曚綅鏁扮粍 */ FormatFileSize: function (size, pointLength, units) { var unit; units = units || ['B', 'K', 'M', 'G', 'TB']; while ((unit = units.shift()) && size > 1024) { size = size / 1024; } return (unit === 'B' ? size : size.toFixed(pointLength || 2)) + unit; }, /* * 鏂规硶璇存槑: 鑾峰彇鍦板潃鏍忓弬鏁 * author: 绫冲嵃鏈 * @param string name 鍙傛暟鍚嶇О */ GetQueryString: function (name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var param = window.location.search.substr(1).match(reg); if (param != null && param.length > 2 && param[2]) { return decodeURIComponent(param[2]); } else { return null; } }, /** * 鏍煎紡鍖栧瓧绗︿覆 */ FormatString: function () { if (arguments.length == 0) return null; var str = arguments[0]; for (var i = 1; i < arguments.length; i++) { var re = new RegExp('\\{' + (i - 1) + '\\}', 'gm'); str = str.replace(re, arguments[i]); } return str; }, /* 鏉冮檺楠岃瘉锛屼互鍙婃坊鍔犳潈闄愬浘鏍 */ PermissionControl: function (primary, callback) { $.ajax({ url: '/application/user/PermissionVerification', data: { primary: primary }, type: 'post', dataType: 'json', success: function (data) { if (!data.Status && callback) { callback(); } } }); } }); }); })(jQuery, window, document);