1 /* 2 * 本插件由网上收集整理,转载请附上原文出处链接及本声明。 3 * author:kikyoqiang 4 * name:kikyoUtils 5 * 博客:https://www.cnblogs.com/kikyoqiang/ 6 */ 7 8 // ============================== 通用参数 开始 ====================================================================== 9 10 var public_closeTimeout = 1000;// 关闭窗口时间 11 var public_closeTimeout_error = 2000;// 关闭窗口时间 12 var public_shade = 0.3;// 遮罩 13 var public_anim = 3;// 动画模式 14 15 // ============================== prototype 原型方法开始 ====================================================================== 16 17 /* 18 * string格式化 19 * 20 var result1 = "我是{0},今年{1}了".format("张三", 22); 21 var result2 = "我是{name},今年{age}了".format({ name: "张三", age: 22 }); 22 */ 23 String.prototype.format = function (args) { 24 var result = this; 25 if (arguments.length <= 0) { 26 return result; 27 } 28 if (arguments.length == 1 && typeof (args) == "object") { 29 for (var key in args) { 30 if (args[key] == undefined) { 31 continue; 32 } 33 var reg = new RegExp("({" + key + "})", "g"); 34 result = result.replace(reg, args[key]); 35 } 36 } 37 else { 38 for (var i = 0; i < arguments.length; i++) { 39 if (arguments[i] == undefined) { 40 continue; 41 } 42 var reg = new RegExp("({)" + i + "(})", "g"); 43 result = result.replace(reg, arguments[i]); 44 } 45 } 46 return result; 47 }; 48 // ============================== prototype 原型方法结束 ====================================================================== 49 50 51 // ============================== pubUtil 创建对象开始 ============================================================ 52 53 var PubUtil = function () { }; 54 PubUtil.prototype = { 55 /* 56 * 获得当前系统的时间 57 */ 58 getLangDate: function () { 59 var dateObj = new Date(); //表示当前系统时间的Date对象 60 var year = dateObj.getFullYear(); //当前系统时间的完整年份值 61 var month = dateObj.getMonth() + 1; //当前系统时间的月份值 62 var date = dateObj.getDate(); //当前系统时间的月份中的日 63 var day = dateObj.getDay(); //当前系统时间中的星期值 64 var weeks = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"]; 65 var week = weeks[day]; //根据星期值,从数组中获取对应的星期字符串 66 var hour = dateObj.getHours(); //当前系统时间的小时值 67 var minute = dateObj.getMinutes(); //当前系统时间的分钟值 68 var second = dateObj.getSeconds(); //当前系统时间的秒钟值 69 var timeValue = "" + ((hour >= 12) ? (hour >= 18) ? "晚上" : "下午" : "上午"); //当前时间属于上午、晚上还是下午 70 var newDate = dateFilter(year) + "-" + dateFilter(month) + "-" + dateFilter(date) + " " + 71 dateFilter(hour) + ":" + dateFilter(minute) + ":" + dateFilter(second); 72 return newDate; 73 }, 74 /* 75 * 将form表单元素的值序列化成对象 76 */ 77 serializeObject: function (form) { 78 var o = {}; 79 $.each(form.serializeArray(), function (index) { 80 if (o[this['name']]) { 81 o[this['name']] = o[this['name']] + "," + this['value']; 82 } else { 83 o[this['name']] = this['value']; 84 } 85 }); 86 return o; 87 }, 88 /* 89 * 根据对象加载表单数据 90 */ 91 loadInput: function (body, model) { 92 var inputArray = body.find("input[type='text']");// 取到所有的input text 93 var telArray = body.find("input[type='tel']");// 取到所有的input text 94 var hidden = body.find("input[type='hidden']");// 取到所有的input text 95 var textarea = body.find("input[type='textarea']");// 取到所有的input text 96 var textarea2 = body.find("textarea");// 取到所有的input text 97 $.merge(inputArray, telArray); 98 $.merge(inputArray, hidden); 99 $.merge(inputArray, textarea); 100 $.merge(inputArray, textarea2); 101 inputArray.each(function () { 102 var input = $(this);// 循环中的每一个input元素 103 var name = input.attr("name"); 104 if (model[name] != "") { 105 input.val(model[name]); 106 } 107 }); 108 }, 109 /* 110 * 是否是微信端 111 */ 112 isWeiXin: function () { 113 var ua = window.navigator.userAgent.toLowerCase(); 114 return ua.match(/MicroMessenger/i) == 'micromessenger'; 115 }, 116 /* 117 * 是否是微信端(判断有问题,不推荐) 118 */ 119 isMobile: function () { 120 var ismobile = false; 121 browser = { 122 versions: function () { 123 var u = navigator.userAgent, app = navigator.appVersion; 124 return { 125 trident: u.indexOf('Trident') > -1, //IE内核 126 presto: u.indexOf('Presto') > -1, //opera内核 127 webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核 128 gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核 129 mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/), //是否为移动终端 130 ios: !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端 131 android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器 132 iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器 133 iPad: u.indexOf('iPad') > -1, //是否iPad 134 webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部 135 }; 136 }(), 137 language: (navigator.browserLanguage || navigator.language).toLowerCase() 138 }; 139 ismobile = browser.versions.mobile; 140 return ismobile; 141 }, 142 /* 143 * 是否是PC 144 */ 145 isPC: function () { 146 var userAgentInfo = navigator.userAgent; 147 var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"]; 148 var flag = true; 149 for (var v = 0; v < Agents.length; v++) { 150 if (userAgentInfo.indexOf(Agents[v]) > 0) { 151 flag = false; 152 break; 153 } 154 } 155 return flag; 156 }, 157 /* 158 * 打开新窗口 159 */ 160 openWin: function (url, winName, width, height) { 161 //获得窗口的垂直位置 162 var iTop = (window.screen.availHeight - 30 - height) / 2; 163 //获得窗口的水平位置 164 var iLeft = (window.screen.availWidth - 10 - width) / 2; 165 window.open(url, winName, 'height=' + height + ',,innerHeight=' + height + ',width=' + width + ',innerWidth=' + width + ',top=' + iTop + ',left=' + iLeft + 166 ',status=no,toolbar=no,menubar=no,location=no,resizable=no,scrollbars=3,titlebar=no'); 167 // window.open("AddScfj.aspx", "newWindows", 'height=100,width=400,top=0,left=0,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no'); 168 }, 169 /* 170 * 获取url参数的值 171 */ 172 getQueryString: function (name) { 173 var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); 174 var r = window.location.search.substr(1).match(reg); 175 if (r != null) return decodeURI(r[2]); 176 return null; 177 } 178 }; 179 function dateFilter(date) { 180 return date < 10 ? ("0" + date) : date; 181 }; 182 var pubUtil = new PubUtil(); 183 184 // ============================== pubUtil 创建对象结束 ====================================================================== 185 186 function setCookie(name, value) { 187 var Days = 30; 188 var exp = new Date(); 189 exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000); 190 document.cookie = name + "=" + escape(value) + ";path=/;expires=" + exp.toGMTString(); 191 } 192 193 function getCookie(name) { 194 var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)"); 195 if (arr = document.cookie.match(reg)) 196 return unescape(arr[2]); 197 else 198 return ""; 199 }