`

javascript 解析浏览器参数信息

阅读更多
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <title> New Document </title>
  <meta name="Generator" content="EditPlus">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
<script type="text/javascript">
<!--

window.onload = function(){

var myURL = parseUrl('http://abc.com:8080/dir/index.html?id=255&m=hello#top');

//alert(myURL.file);     // = 'index.html'
//alert(myURL.host);     // = 'abc.com'
myURL.search;    // = '?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://abc.com:8080/dir/index.html?id=255&m=hello#top'
var file = _$("file");
file.innerHTML = myURL.file;
var host = _$("host");
host.innerHTML = myURL.host;
var port = _$("port");
port.innerHTML = myURL.port;
var source = _$("source");
source.innerHTML = myURL.source;
var search = _$("search");
search.innerHTML = myURL.search;
var params = _$("params");
params.innerHTML = objToString(myURL.params);
var path = _$("path");
path.innerHTML = myURL.path;
alert(objectToString(myURL))
}

function _$(id){
return document.getElementById(id);
}
function parseUrl(url){

  var a  = document.createElement("a");

  a.href = url;
  return {
  //源连接地址
source:url,
//协议
protocol:a.protocol.replace(":",""),
host: a.host,
//端口
port: a.port,
file: (a.pathname.match(/\/([^\/?#]+)$/i) || [,''])[1],
//查询字符串
search: 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('/')


  };
}

function objToString (obj) {
    var str = '', a = [], t;

    for (var p in obj) {
        if (obj.hasOwnProperty(p)) {
str += p + ':' + obj[p] + ',';
        }
    }
    return str;
}

//-->
</script>
</head>

<body>
    <div>
<p>javascript 解析浏览器路径参数</p>
<h4>原来的url:'http://abc.com:8080/dir/index.html?id=255&m=hello#top'</h4>
<h4>解析后</h4>
<p>
<div>file:<span id="file"><span></div>
<div>host:<span id="host"></span></div>
<div>search:<span id="search"></span></div>
<div>params:<span id="params"></span></div>
<div>path:<span id="path"></span></div>
<div>port:<span id="port"></span></div>
<div>protocol:<span id="protocol"></span></div>
<div>source:<span id="source"></span></div>

</p>
<div>
</body>
</html>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics