您的位置:首页 > Web前端 > JavaScript

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

2014-04-07 23:54 519 查看

今天看到一个关于异类的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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: