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 }