前因:一直有積累一個util.js ,在不一樣時間段的質量成迭代狀,變量名隨着心情的變化不斷變得不可讀.決定在新項目中整理一下.若是當插件來寫好像也沒那麼多功能,因此就extend吧java
extend優勢有不少,用java的思想就是有個包名jquery
好比這樣cookie
$.myfunction.validate.isInt(str);模塊化
$.myfunction.validate.isFloat(str);工具
jquery extend的統一格式spa
(function($){ $.extend({ …… }); })(jQuery);
我這裏整理了一點項目中用到的,摘抄成這樣插件
(function($) { $.extend({ //驗證工具 validate : { // 整數 isInt: function(str){ var reg = /^(-|\+)?\d+$/; return reg.test(str); }, // 小數 isFloat: function(str){ if (isInt(str)) return true; var reg = /^(-|\+)?\d+\.\d*$/; return reg.test(str); }, // 中文 isCn : function(str){ var re1 = /[\u4e00-\u9fa5]/; return re1.test(str); }, // 是否爲空 isEmpty: function(str){ if (str != null && str != "") { return false; } return true; } }, //時間工具 timeUtil : { /** * 日期 轉換爲 Unix時間戳 * * @param <int> year 年 * @param <int> month 月 * @param <int> day 日 * @param <int> hour 時 * @param <int> minute 分 * @param <int> second 秒 * @return <int> unix時間戳(秒) */ DateToUnix : function(year, month, day, hour, minute, second) { var oDate = new Date(Date.UTC(parseInt(year), parseInt(month), parseInt(day), parseInt(hour), parseInt(minute), parseInt(second))); return (oDate.getTime() / 1000); }, /** * 時間戳轉換日期 * * @param <int> unixTime 待時間戳(秒) * @param <bool> isFull 返回完整時間(Y-m-d 或者 Y-m-d H:i:s) * @param <int> timeZone 時區 */ UnixToDate : function(unixTime, isFull, timeZone) { if (typeof (timeZone) == 'number') { unixTime = parseInt(unixTime) + parseInt(timeZone) * 60 * 60; } var time = new Date(unixTime * 1000); var ymdhis = ""; ymdhis += time.getUTCFullYear() + "-"; ymdhis += time.getUTCMonth() + "-"; ymdhis += time.getUTCDate(); if (isFull === true) { ymdhis += " " + time.getUTCHours() + ":"; ymdhis += time.getUTCMinutes() + ":"; ymdhis += time.getUTCSeconds(); } return ymdhis; }, //東8區 UnixToDefaultDate:function(unixTime){ return $.timeUtil.UnixToDate(unixTime/1000,true,8); } }, // cookie工具 cookieUtil : { set : function(name, value) { var Days = 365; // 此 cookie 將被保存 365 天 var exp = new Date(); // new Date("December 31, 9998"); exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000); document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString(); }, get : function(name) { var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)")); if (arr != null) return unescape(arr[2]); return null; }, del : function(name){ var exp = new Date(); exp.setTime(exp.getTime() - 1); var cval = $.cookieUtil.get(name); if (cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString(); } } }); })(jQuery);