• 【js Utils】web前端工具帮助类kikyoUtils


      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 }
  • 相关阅读:
    CShop Project 082: 获取分页数据模型并传递到页面上
    CShop Project 08: 展示不同类型的商品
    CShop Project 08: 开发商品分类的查询和展示
    119 类和数据类型
    118 对象的绑定方法
    117 对象的属性查找顺序
    116 定制对象独有特征
    115 类和对象
    114 面向对象编程介绍
    113 面向对象程序设计的由来(了解)
  • 原文地址:https://www.cnblogs.com/kikyoqiang/p/12561014.html
Copyright © 2020-2023  润新知