zoukankan      html  css  js  c++  java
  • jQuery实用工具集

    插件描述:jQuery实用工具集,该插件封装了常用功能,如序列化表单值获取地址栏参数window对象操作等

    此工具集包含判断浏览器,判断浏览终端,获取地址栏参数,获取随机数,数据校验等常用操作功能

    引入文件: <script type="text/javascript" src="jQuery-Util.js"></script>  <script type="text/javascript" src="jQuery-Util.js"></script> 

    使用方法:查看演示(jQuery-Util.html)或查看JS源码(未压缩,有注释)

    jQuery常用工具集 示例

    基本说明

    使用方法: $.Util.* 

    判断浏览器
    1 $.Util.browser.* 
    * 可选参数:"IE","IE6","IE7","IE8","Firefox","Opera","Chrome"
    返回值:Boolean
    判断浏览终端
    $.Util.terminal(key)
    key 可传参数:"android","iPad","iphone","mac","windows","mobileEnd"
    返回值:Boolean
    获取地址栏参数
    $.Util.getQueryString(key)
    key:返回key的值,默认返回地址栏所有数据
    返回值:String/Object
    获取随机数
    $.Util.getRandom(min,max)
    必传参数:"min:最小值,max:最大值"最小值与最大值区间的随机数
    返回值:Number
    浏览器对象常用操作
    $.Util.win.*
    * 可选方法 href(url,time),href(url,time),back(),read(time)
    href:窗口跳转地址,open:打开新窗口,back:后退,read:刷新页面
    必传参数:"url"地址栏链接地址,可传参数:"time"延迟毫秒数,默认为0
    常用数据校验
    $.Util.verify(key,val)
    必传参数:"key:校验的类型,val:被校验的字符串"
    key 的可选值:"email","mobile","url","idCard","postal","date","qq"
    返回值:Boolean
    序列化表单数据为JSON格式(快速获取表单值)
    $.Util.serializeJSON(obj)
    必传参数:"obj:表单元素"
    返回值:Object

    更多功能及方法请查看插件源码,如:操作cookie,字符串截取等功能

    源码:

    /**
     * 名称:jQuery 工具箱
     * 创建日期:2018-01-20
     * 更新日期:2018-01-20
     * 开发者:helang.love@qq.com
     * 联系QQ:1846492969
     */
    
    $.extend({
        Util:{
            /* 浏览器 */
            browser:{
                IE: !!document.all,
                IE6: !!document.all && !window.XMLHttpRequest,
                IE7: !!document.all && /msie 7.0/gi.test(window.navigator.appVersion),
                IE8: !!document.all && /msie 8.0/gi.test(window.navigator.appVersion),
                Firefox: /firefox/gi.test(window.navigator.userAgent),
                Opera: /opera/gi.test(window.navigator.userAgent),
                Chrome: /Chrom/gi.test(window.navigator.userAgent)
            },
            /* 终端 */
            terminal:function (key) {
                var regs={
                    /* 安卓 */
                    "android":/android/i,
                    /* 平果平板电脑 */
                    "iPad":/ipad/i,
                    /* 苹果手机 */
                    "iphone":/iphone/i,
                    /* 苹果操作系统 */
                    "mac":/macintosh/i,
                    /* 微软操作系统 */
                    "windows":/windows/i,
                    /* 移动端设备 */
                    "mobileEnd":/(nokia|iphone|android|ipad|motorola|^mot-|softbank|foma|docomo|kddi|up.browser|up.link|htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte-|longcos|pantech|gionee|^sie-|portalmmm|jigs browser|hiptop|^ucweb|^benq|haier|^lct|operas*mobi|opera*mini|320x320|240x320|176x220)/i
                };
                return regs[key].test(window.navigator.userAgent);
            },
            /*获取地址栏参数
            * key:要查询的字段,缺省返回地址栏所有数据
            * */
            getQueryString: function (key) {
                var search=window.location.search;
                if(search.length<1){
                    return false;
                }
                if(key && search.indexOf(key)<0){
                    return false;
                }
                search=search.substring(1);
                search=decodeURI(search);
                var searchArr=search.split("&");
                var searchJSON={};
                for(var i=0;i<searchArr.length;i++){
                    var item=searchArr[i].split("=");
                    searchJSON[item[0]]=item[1];
                }
                if(key){
                    return searchJSON[key];
                }else {
                    return searchJSON;
                }
            },
            /*获取随机数*/
            getRandom:function (min,max) {
                return Math.floor(Math.random() * (max-min))+min+1;
            },
            /*字符串截取*/
            substring:function (str,length) {
                if(str.length>length){
                    return str.substring(0,length)+"...";
                }else {
                    return str;
                }
            },
            /* 操作cookie*/
            cookie: {
                /* 设置 */
                set:function (key,val,len,unit) {
                    if(!key || typeof val=='undefined'){
                        return false;
                    }
                    var cookieVal=val;
                    if(typeof cookieVal=='object'){
                        var valArr=[];
                        $.each(cookieVal,function (val_k,val_v) {
                            valArr.push(val_k+"="+val_v);
                        });
                        cookieVal=valArr.join("&");
                    }
                    var len=len || 1;
                    var unit=unit || "d";
                    var units={
                        "d":len*24*60*60*1000,
                        "h":len*60*60*1000,
                        "m":len*60*1000,
                        "s":len*1000
                    };
                    var dt = new Date();
                    dt.setTime(dt.getTime() + (units[unit]));
                    var expires = ";expires=" + dt.toGMTString();
                    var path=';path=/', domain='', secure='';
                    document.cookie=[key, '=', cookieVal, expires, path, domain, secure].join('');
                },
                /* 获取
                * key:cookie的名称,必传参数
                * name:cookie中的指定值,缺省默认返回cookie下所有值
                * */
                get:function (key,name) {
                    var cookieStr=document.cookie;
                    var start=cookieStr.indexOf(key+"=");
                    if(!key || start<0){
                        return false;
                    }
                    cookieStr=cookieStr.substring(start);
                    var end=cookieStr.indexOf(";");
                    if(end>=0){
                        cookieStr=cookieStr.substring(0,end);
                    }
                    cookieStr=cookieStr.substring(key.length+1);
                    cookieStr=decodeURIComponent(cookieStr);
                    var keyArr=cookieStr.split("&");
                    if(keyArr.length<2){
                        return keyArr[0];
                    }
                    var keyJSON={};
                    for(var i=0;i<keyArr.length;i++){
                        var item=keyArr[i].split("=");
                        keyJSON[item[0]]=item[1];
                    }
                    if(!name){
                        return keyJSON;
                    }else {
                        if(keyJSON.hasOwnProperty(name)){
                            return keyJSON[name];
                        }else {
                            return false;
                        }
                    }
                },
                /* 删除 */
                del:function (key) {
                    this.set(key,"",-365);
                }
            },
            /* 序列化表单数据为JSON格式 */
            serializeJSON: function (obj) {
                var formArr = obj.serializeArray();
                var formObj = new Object();
                $.each(formArr, function () {
                    if (formObj[this.name]) {
                        if (!formObj[this.name].push) {
                            formObj[this.name] = [formObj[this.name]];
                        }
                        formObj[this.name].push(this.value || '');
                    } else {
                        formObj[this.name] = this.value || '';
                    }
                });
                return formObj;
            },
            /*window对象*/
            win: {
                /*窗口跳转地址*/
                href: function (url, time) {
                    var time = time || 0;
                    setTimeout(function () {
                        window.location.href = url;
                    }, time);
                },
                /*打开新窗口*/
                open: function (url, time) {
                    var time = time || 0;
                    setTimeout(function () {
                        window.open(url);
                    }, time);
                },
                /*回退历史记录*/
                back: function () {
                    window.history.back();
                },
                /*刷新当前页面*/
                read: function (time) {
                    var time = time || 0;
                    setTimeout(function () {
                        window.location.reload();
                    }, time);
                }
            },
            /*校验*/
            verify:function (key,val) {
                var regs={
                    /* 邮箱 */
                    "email":/^[0-9a-zA-Z_]+@[0-9a-zA-Z_]+[.]{1}[0-9a-zA-Z]+[.]?[0-9a-zA-Z]+$/,
                    /* 手机 */
                    "mobile":/^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/,
                    /* 超链接 */
                    "url":/^https?://(([a-zA-Z0-9_-])+(.)?)*(:d+)?(/((.)?(?)?=?&?[a-zA-Z0-9_-](?)?)*)*$/i,
                    /* 身份证 */
                    "idCard":/^(^[1-9]d{7}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}$)|(^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])((d{4})|d{3}[Xx])$)$/,
                    /* 邮政编码 */
                    "postal":/^[1-9]d{5}(?!d)$/,
                    /* YY-MM-dd 格式日期 */
                    "date":/^[1-2][0-9][0-9][0-9]-[0-1]{0,1}[0-9]-[0-3]{0,1}[0-9]$/,
                    /* QQ */
                    "qq":/^[1-9][0-9]{4,9}$/,
                    /* 全部为数字 */
                    "numAll":/"^d+$/,
                    /* 适合的帐号 英文/数字 */
                    "befitName":/^[a-z0-9]+$/i,
                    /* 适合的密码 英文/数字/下划线 */
                    "befitPwd":/^w+$/
                };
                return regs[key].test(val);
            }
        }
    });
  • 相关阅读:
    (拿来主义) SpringCloud | 第四篇: 断路器(Hystrix)
    (拿来主义) SpringCloud | 第三篇: 服务消费者(Feign)
    (拿来主义) SpringCloud | 第二篇: 服务消费者(rest+ribbon)
    (拿来主义) SpringCloud | 第一篇: 服务的注册与发现(Eureka)
    (拿来主义-10) Spring Boot中使用Swagger2构建强大的RESTful API文档(五)
    (拿来主义-9) Spring Boot构建RESTful API与单元测试(四)
    (拿来主义-8) Spring Boot属性配置文件详解(三)
    (拿来主义-7) Spring Boot工程结构推荐(二)
    springMVC配置文件路径问题
    实现可用的插件系统
  • 原文地址:https://www.cnblogs.com/joyco773/p/9125435.html
Copyright © 2011-2022 走看看