"use strict"; var tools = { check_cookie:function(){ if(window.navigator.cookieEnabled) return true; else{ alert("浏览器配置错误,Cookie不可用!"); return false; } } ,set_cookie:function(name,value){ var Days = 30; //此 cookie 将被保存 30 天 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_cookie:function(name) { var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)")); if(arr != null) return unescape(arr[2]); return null; // var regexp = new RegExp("(?:^" + name + "|;\s*"+ name + ")=(.*?)(?:;|$)", "g"); // var result = regexp.exec(document.cookie); // return (result === null) ? null : result[1]; } ,del_cookie:function(name) { var exp = new Date(); exp.setTime(exp.getTime() - 1); var cval=getCookie(name); if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString(); } // 检测空对象 // 空则返回true ,isEmptyValue:function(value) { var type; if(value === null) { // 等同于 value === undefined || value === null return true; } type = Object.prototype.toString.call(value).slice(8, -1); switch(type) { case 'String': return !!$.trim(value); case 'Array': return !value.length; case 'Object': // return $.isEmptyObject(value); return !value.length; default: return false; } } ,isEmpty : function(v){ if (v instanceof String) { var r = /^\s*$/; return r.test(v); }else if(v instanceof Array){ return !v.length; }else if(v instanceof Object){ return v === {}; }else{ return false; } } ,is_set:function(value){ if (typeof(value) == "undefined") { return false; }else{ return true; } } // 解析URL路径 ,parseURL:function(url) { var a = document.createElement('a'); a.href = url; return { source: url, protocol: a.protocol.replace(':',''), host: a.hostname, port: a.port, query: a.search, params: (function(){ var ret = [], seg = a.search.replace(/^\?/,'').split('&'), len = seg.length, i = 0, s; for (;i= 0) { this.splice(a, 1); return true; } return false; }; // 一部加载页面对分页按钮处理 ,id 带有 # function load_page(_url,nodeId) { $.ajax({ url: _url, type: 'GET', dataType: 'html' }) .done(function(data) { console.log("success"); $(nodeId).html(data); $(nodeId+" .pagination a").each(function(index, el) { var elhref = $(el).attr('href'); if ( elhref == '#' ) { elhref = _url; $(el).attr('data-href',_url); }else{ $(el).attr('data-href',elhref); }; $(el).attr('href',"javascript:load_page('"+elhref+"','"+nodeId+"')"); }); }) .fail(function() { console.log("error"); }) .always(function() { console.log("complete"); }); } /** * @brief 创建表单验证 * 注意引用 jquery.validate.js 和 jquery.validate.lang.cn.js * @param frm 表单 Id * @param rules 验证规则 */ function make_validate(frm,rules,messages,inline){ if (inline == 0) { inline = "block"; }else{ inline = "inline"; } $('#'+frm).validate({ ignore: ".ignore", // 忽略 rules:rules, onchange: true, onblur: true, messages:messages, errorClass: "help-"+inline+" validate", errorElement: "span", highlight:function(element, errorClass, validClass) { $(element).parents('.control-group').removeClass('success').addClass('error'); $(element).removeClass('success').addClass('error'); $(element).nextAll('span.validate').remove(); }, unhighlight: function(element, errorClass, validClass) { $(element).parents('.control-group').removeClass('error').addClass('success'); $(element).removeClass('error').addClass('success'); $(element).nextAll('span.validate').remove(); }, errorPlacement: function(error, element) { if (inline == "block") { error.appendTo(element.parents(".control-group")); }else{ element.after(error); } } }); } /** * @brief 创建表单验证 带有返回函数, 可以验证后直接用ajax处理 * 注意引用 jquery.validate.js 和 jquery.validate.lang.cn.js * @param frm 表单 Id * @param rules 验证规则 */ function make_validate_submit(frm,rules,messages,submit_fun,inline){ if (inline == 0) { inline = "block"; }else{ inline = "inline"; } $('#'+frm).validate({ ignore: ".ignore", // 忽略 rules:rules, onchange: true, onblur: true, messages:messages, errorClass: "help-inline validate", errorElement: "span", highlight:function(element, errorClass, validClass) { $(element).parents('.control-group').removeClass('success').addClass('error'); $(element).removeClass('success').addClass('error'); $(element).nextAll('span.validate').remove(); }, unhighlight: function(element, errorClass, validClass) { $(element).parents('.control-group').removeClass('error').addClass('success'); $(element).removeClass('error').addClass('success'); $(element).nextAll('span.validate').remove(); }, errorPlacement: function(error, element) { if (inline == "block") { error.appendTo(element.parents(".control-group")); }else{ element.after(error); } }, submitHandler:function(form){ submit_fun(form); } }); } // 判定空 // String.prototype.isEmpty = function(){ // var r = /^\s*$/; // return r.test(this); // }; // Array.prototype.isEmpty = function(){ // return !this.length; // }; // Object.prototype.isEmpty = function(){ // return this === {}; // };