IT序号网

URL工具类知识解答

shasha 2021年05月25日 编程语言 178 0
/** 
 * @author: 苗士军 
 * @description URL工具类 
 */ 
UrlUtils = { 
    /** 
     * @description 判断url是否存在(存在跨域问题) 
     * @param _url 
     * @return {boolean} 
     */ 
    isTrueUrl: function (_url) { 
        result = false; 
        if (_url == undefined || _url == '') { 
            return result; 
        } 
        $.ajax({ 
            url: _url, 
            type: "get", 
            async: false, 
            success: function () { 
                result = true; 
            }, 
            statusCode: { 
                404: function () { 
                } 
            } 
        }); 
        return result; 
    }, 
    /** 
     * @description 解析url 
     * @param url 
     * @return {{source: *, protocol, host: string, port: (*|Function|string), query: (*|string), params, file: *, hash, path: string, relative: *, segments: Array}} 
     */ 
    parseURL: function (url) { 
        var a = document.createElement('a'); 
        a.href = url; 
        return { 
            source: url, 
            protocol: a.protocol.replace(':', ''), 
            host: a.hostname, 
            port: a.port, 
            query: a.search, 
            params: (function () { 
                var ret = {}, 
                    seg = a.search.replace(/^\?/, '').split('&'), 
                    len = seg.length, i = 0, s; 
                for (; i < len; i++) { 
                    if (!seg[i]) { 
                        continue; 
                    } 
                    s = seg[i].split('='); 
                    ret[s[0]] = s[1]; 
                } 
                return ret; 
            })(), 
            file: (a.pathname.match(/\/([^\/?#]+)$/i) || [, ''])[1], 
            hash: a.hash.replace('#', ''), 
            path: a.pathname.replace(/^([^\/])/, '/$1'), 
            relative: (a.href.match(/tps?:\/\/[^\/]+(.+)/) || [, ''])[1], 
            segments: a.pathname.replace(/^\//, '').split('/') 
        }; 
    }, 
    /** 
     * @description 解析url获取参数 
     * @param path 
     * @return {{}} 
     */ 
    getParam: function (path) { 
        var result = {}, param = /([^?=&]+)=([^&]+)/ig, match; 
        while ((match = param.exec(path)) != null) { 
            result[match[1]] = match[2]; 
        } 
        return result; 
    } 
}

发布评论
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

字符串工具类知识解答
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。