js常用函数的封装

1. 获取url中的参数函数

function filterUrl() {
  var url = location.search; //获取url中"?"符后的字串
  var theRequest = new Object();
  if (url.indexOf("?") != -1) {
    var str = url.substr(1);
    strs = str.split("&");
    for (var i = 0; i < strs.length; i++) {
      theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
    }
  }
  return theRequest;
}

2. 获取当前url中的指定参数值

     //获取当前url中的指定参数
        function getQueryString(name) {
            var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
            var r = location.search.substr(1).match(reg); //匹配目标参数
            if (r != null) {
                var ret = r[2];
                try {
                    ret = decodeURIComponent(ret);
                } catch (e) {
                    ret = unescape(ret);
                }
                return ret;
            }
            return null; //返回参数值
        }

3. 获取当前url中指定的hash值

        //获取当前hash参数
        function getHashParam(name) {
            var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
            var r = location.hash.substr(1).match(reg); //匹配目标参数
            if (r != null) {
                var ret = r[2];
                try {
                    ret = decodeURIComponent(ret);
                } catch (e) {
                    ret = unescape(ret);
                }
                return ret;
            }
            return null; //返回参数值
        }

4.是否支持css动画

        //是否支持css动画
        function checkCssAnimation() {
            var styles = document.createElement('div').style;
            var animations = ['animation', 'webkitAnimation', "msAnimation", 'MozAnimation', '-moz-animation', '-webkit-animation'];
            for (var i = 0, len = animations.length; i < len; i++) {
                if (animations[i] in styles) {
                    return true;
                }
            }
            return false;
        }

5. 终端验证mobile或者pc

        //终端验证
        function getPlatform() {
            var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
            var flag = "pc";
            for (var v = 0, len = Agents.length; v < len; v++) {
                if (navigator.userAgent.indexOf(Agents[v]) > 0) {
                    flag = "mobile";
                    break;
                }
            }
            return flag;
        }

6. 手机系统android或者ios或者others(如平板)

        //手机系统
        function getSystem() {
            var ua = navigator.userAgent.toLowerCase();
            if (ua.indexOf("android") != -1) return "android";
            if (ua.indexOf("iphone") != -1) return "ios";
            return "others";
        }

7. 是否微信浏览器环境(公众号)

        //是否微信浏览器(公众号)
        function isWX() {
            if (/(micromessenger)\/([\w\.]+)/i.test(navigator.userAgent) && !/miniprogram/i.test(navigator.userAgent)) {
                return true;
            }
            return false;
        }

8. 是否小程序环境

//是否小程序 function isMiniprogram() { if (/(micromessenger)\/([\w\.]+)/i.test(navigator.userAgent) && /miniprogram/i.test(navigator.userAgent)) { return true; } return false; }

 

posted on 2020-03-19 15:41  活在当下zql  阅读(584)  评论(0)    收藏  举报