String.IsNullOrEmpty = function (v) { return !(typeof (v) === "string" && v.length != 0); }; String.prototype.Trim = function (isall) { if (isall) { //清除所有空格 return this.replace(/\s/g, ""); } //清除两边空格 return this.replace(/^\s+|\s+$/g, "") }; //清除开始空格 String.prototype.TrimStart = function (v) { if ($String.IsNullOrEmpty(v)) { v = "\\s"; }; var re = new RegExp("^" + v + "*", "ig"); return this.replace(re, ""); }; //清除结束空格 String.prototype.TrimEnd = function (v) { if ($String.IsNullOrEmpty(c)) { c = "\\s"; }; var re = new RegExp(c + "*$", "ig"); return v.replace(re, ""); }; //获取url参数,调用:window.location.search.Request("test"),如果不存在,则返回null String.prototype.Request = function (para) { var reg = new RegExp("(^|&)" + para + "=([^&]*)(&|$)"); var r = this.substr(this.indexOf("\?") + 1).match(reg); if (r != null) return unescape(r[2]); return null; } //四舍五入保留二位小数 Number.prototype.ToDecimal = function (dec) { //如果是整数,则返回 var num = this.toString(); var idx = num.indexOf("."); if (idx < 0) return this; var n = num.length - idx - 1; //如果是小数,则返回保留小数 if (dec < n) { var e = Math.pow(10, dec); return Math.round(this * e) / e; } else { return this; } } //字符转换为数字 String.prototype.ToNumber = function (fix) { //如果不为数字,则返回0 if (!/^(-)?\d+(\.\d+)?$/.test(this)) { return 0; } else { if (typeof (fix) != "undefined") { return parseFloat(this).toDecimal(fix); } return parseFloat(this); } } //Number类型加法toAdd Number.prototype.ToAdd = function () { var _this = this; var len = arguments.length; if (len == 0) { return _this; } for (i = 0 ; i < len; i++) { var arg = arguments[i].toString().toNumber(); _this += arg; } return _this.toDecimal(2); } //Number类型减法toSub Number.prototype.ToSub = function () { var _this = this; var len = arguments.length; if (len == 0) { return _this; } for (i = 0 ; i < len; i++) { var arg = arguments[i].toString().toNumber(); _this -= arg; } return _this.toDecimal(2); } //字符格式化:String.format("S{0}T{1}","n","e");//结果:SnTe String.Format = function () { var c = arguments[0]; for (var a = 0; a < arguments.length - 1; a++) { var b = new RegExp("\\{" + a + "\\}", "gm"); c = c.replace(b, arguments[a + 1]) } return c }; /* *字符填充类(长度小于,字符填充) *调用实例 *var s = "471812366"; *s.leftpad(10, '00'); //结果:00471812366 *s.rightpad(10, '00'); //结果:47181236600 *左填充 */ String.prototype.LeftPad = function (b, f) { if (arguments.length == 1) { f = "0" } var e = new StringBuffer(); for (var d = 0, a = b - this.length; d < a; d++) { e.append(f) } e.append(this); return e.toString() }; //右填充 String.prototype.RightPad = function (b, f) { if (arguments.length == 1) { f = "0" } var e = new StringBuffer(); e.append(this); for (var d = 0, a = b - this.length; d < a; d++) { e.append(f) } return e.toString() }; //加载JS文件 //调用:window.using('/scripts/test.js'); window.using = function (jsPath, callback) { $.getScript(jsPath, function () { if (typeof callback == "function") { callback(); } }); } //自定义命名空间 //定义:namespace("Utils")["Test"] = {} //调用:if (Utils.Error.hasOwnProperty('test')) { Utils.Error['test'](); } window.namespace = function (a) { var ro = window; if (!(typeof (a) === "string" && a.length != 0)) { return ro; } var co = ro; var nsp = a.split("."); for (var i = 0; i < nsp.length; i++) { var cp = nsp[i]; if (!ro[cp]) { ro[cp] = {}; }; co = ro = ro[cp]; }; return co; }; /*==================================== 创建Cookie:Micro.Cookie("名称", "值", { expires: 7 }, path: '/' ); expires:如果省略,将在用户退出浏览器时被删除。 path:的默认值为网页所拥有的域名 添加Cookie:Micro.Cookie("名称", "值"); 设置有效时间(天):Micro.Cookie("名称", "值", { expires: 7 }); 设置有效路径(天):Micro.Cookie("名称", "值", { expires: 7 }, path: '/' ); 读取Cookie: Micro.Cookie("名称"});,如果cookie不存在则返回null 删除Cookie:Micro.Cookie("名称", null); ,删除用null作为cookie的值即可 *作者:杨秀徐 ====================================*/ namespace("Micro")["Cookie"] = function (name, value, options) { if (typeof value != 'undefined') { options = options || {}; if (value === null) { value = ''; options.expires = -1; } var expires = ''; if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) { var date; if (typeof options.expires == 'number') { date = new Date(); date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); } else { date = options.expires; } expires = '; expires=' + date.toUTCString(); } var path = options.path ? '; path=' + (options.path) : ''; var domain = options.domain ? '; domain=' + (options.domain) : ''; var secure = options.secure ? '; secure' : ''; document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join(''); } else { var cookieValue = null; if (document.cookie && document.cookie != '') { var cookies = document.cookie.split(';'); for (var i = 0; i < cookies.length; i++) { var cookie = cookies[i].Trim(true); if (cookie.substring(0, name.length + 1) == (name + '=')) { cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); break; } } } return cookieValue; } }; //错误处理方法 namespace("Micro")["Error"] = { a: function () { alert('a') }, b: function () { alert('b') }, c: function () { alert('c') } } //常规处理方法 namespace("Micro")["Utils"] = { isMobile: function () { var userAgent = navigator.userAgent.toLowerCase(); var isIpad = userAgent.match(/ipad/i) == "ipad"; var isIphoneOs = userAgent.match(/iphone os/i) == "iphone os"; var isMidp = userAgent.match(/midp/i) == "midp"; var isUc7 = userAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4"; var isUc = userAgent.match(/ucweb/i) == "ucweb"; var isAndroid = userAgent.match(/android/i) == "android"; var isCE = userAgent.match(/windows ce/i) == "windows ce"; var isWM = userAgent.match(/windows mobile/i) == "windows mobile"; if (isIpad || isIphoneOs || isMidp || isUc7 || isUc || isAndroid || isCE || isWM) { return true; } else { return false; } }, b: function () { alert('b') }, c: function () { alert('c') } }