建站学 - 轻松建站从此开始!

建站学-个人建站指南,网页制作,网站设计,网站制作教程

javascript将url中的某些参数替换的需求

时间:2011-01-27 09:17来源: 作者: 点击:
javascript将url中的某些参数替换的需求: function parseURL(url) {      var a =  document.createElement('a');      a.href = url;      return {        

javascript将url中的某些参数替换的需求:
function parseURL(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('/') 

    }; 

}

用法:

var myURL = parseURL('http://www.***.com/default.aspx?id=255&m=hello#top'); 

   

myURL.file;     // = 'index.html' 

myURL.hash;     // = 'top' 

myURL.host;     // = 'abc.com' 

myURL.query;    // = '?id=255&m=hello' 

myURL.params;   // = Object = { id: 255, m: hello } 

myURL.path;     // = '/dir/index.html' 

myURL.segments; // = Array = ['dir', 'index.html'] 

myURL.port;     // = '8080' 

myURL.protocol; // = 'http' 

myURL.source;   // = 'http://www.***.com

取得URL的参数,以对象形式返回!

var getParam = function(path){ 

    var result = {},param = /([^?=&]+)=([^&]+)/ig,match; 

    while((match = param.exec(path)) != null){ 

        result[match[1]] = match[2]; 

    } 

    return result; 

 

Object.keys = Object.keys || function(obj){ 

    var result = []; 

    for(var i in obj){ 

        if(obj.hasOwnProperty(i)){ 

            result.push(i) 

        } 

    } 

    return result; 

var path = "http://www.***.com/f?ct=318767104&tn=baiduKeywordSearch&sc=1&pn=0&rn=50&lm=4&rs4=2&rs3=2&word=%D0%C2%BE%D3%D5%D1%C4%CB&frs=jpq"; 

 

var r = getParam(path); 

alert(Object.keys(r))//ct,tn,sc,pn,rn,lm,rs4,rs3,word,frs


(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片