url处理函数

    function UrlOption(url) {
        this.url = url || '';
        this.init();
        this.change = function (url) {
            this.url = url
            this.init();
        }
        this.getParams = function (name) {
            var list = this.search.split('&'),params={},param
            list.forEach(function (v) {
                var param = /^([^&#*]*)+=([^&#]*)+/.exec(v)
                if(param[1]) params[param[1]] = param[2]?param[2]:''
            })
            return name?params[name]:params
        }
    }
    UrlOption.prototype.init = function() {
        if(!this.url) return '';
        this.search = this.url.split('?')[1]
        var host = /^([a-zA-Z]+:\/\/)?((www\.)?[^#&\/:]+(:(\d{1,5}))?)(\/.+)?$/.exec(this.url),
            protocol = /^([a-zA-Z]+):\/\/(www\.)?.+$/.exec(this.url)
        this.host = host ? host[2]:''
        this.protocol = protocol ? protocol[1] : ''
        this.port = host ? host[5] : ''
        this.pathname = host ? host[6] : ''
    }
    var opt = new UrlOption('http://www.segmentf.sdfault.us:50/a/1190000004641602?12=12&23=23#s');
    console.log(opt)

  

posted @ 2017-10-20 16:23  小结巴巴吧  阅读(264)  评论(0编辑  收藏  举报