URL工具类详解编程语言

/** 
 * @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; 
    } 
}

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/18086.html

(0)
上一篇 2021年7月19日 20:49
下一篇 2021年7月19日 20:49

相关推荐

发表回复

登录后才能评论