一个angular版的url中获取参数的插件

来源:互联网 发布:有哪些可信的网络兼职 编辑:程序博客网 时间:2024/05/21 19:20

(function (angular) {
    angular.module('myApp')
        .service('urlParamService', function () {
            //url中取中文
            this.getChineseParam = function (name) {
                var re = new RegExp("[&,?]" + name + "=([^//&]*)", "i");
                var a = re.exec(document.location.href);
                if (a == null)
                    return "";
                return decodeURI(a[1]);
            };

            this.getParam = function (name) {
                var re = new RegExp("[&,?]" + name + "=([^//&]*)", "i");
                var a = re.exec(document.location.href);
                if (a == null)
                    return "";
                return unescape(a[1]);
            };
            //从hash中取参数
            this.getHashParam = (function (name) {
                let hash = decodeURI(window.location.hash);
                let paramArr = hash.split('&');
                return function (name) {
                    let tempStr = "";
                    let tempStr1 = "";
                    if (paramArr[0].indexOf('?') > -1) {
                        tempStr1 = paramArr[0].substring(paramArr[0].lastIndexOf('?') + 1);
                    }
                    tempStr = paramArr.find(x => x.indexOf(name + '=') > -1);
                    if (tempStr1 && tempStr1.indexOf(name) > -1 && tempStr1.substring(name.length + 1)) {
                        tempStr1 = tempStr1.indexOf("#") > 0 ? tempStr1.substring(0, tempStr1.indexOf("#")) : tempStr1;
                        return tempStr1.substring(name.length + 1);
                    }
                    else if (tempStr && tempStr.indexOf(name) > -1 && tempStr.substring(name.length + 1)) {
                        tempStr = tempStr.indexOf("#") > 0 ? tempStr.substring(0, tempStr.indexOf("#")) : tempStr;
                        return tempStr.substring(name.length + 1);
                    }
                    else {
                        return '';
                    }
                }
            }());
        })
})(angular);
原创粉丝点击