web开发小技巧:异类的Javascript处理和解析URL的方式

今天看到一个关于异类的Javascript处理和解析URL的方式 ,web开发小技巧。转载如下:

 

<script> 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://abc.com:8080/dir/index.html?id=255&m=hello#top'); document.write("<br/>"+myURL.file ); // = 'index.html' document.write("<br/>"+myURL.hash ); // = 'top' document.write("<br/>"+myURL.host ); // = 'abc.com' document.write("<br/>"+myURL.query ); // = '?id=255&m=hello' document.write("<br/>"+myURL.params ); // = Object = { id: 255, m: hello } document.write("<br/>"+myURL.path ); // = '/dir/index.html' document.write("<br/>"+myURL.relative); // = '/dir/index.html?id=255&m=hello#top' document.write("<br/>"+myURL.segments); // = Array = ['dir', 'index.html'] document.write("<br/>"+myURL.port ); // = '8080' document.write("<br/>"+myURL.protocol); // = 'http' document.write("<br/>"+myURL.source ); // = 'http://abc.com:8080/dir/index.html?id=255&m=hello#top'

document.write("<br/>"); for(var i in myURL.params)  document.write("<br/>"+i+":"+myURL.params[i]);

</script>

http://www.gbtags.com/gb/share/2987.htm
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值