JS URL Parse

转载 2015年11月19日 17:02:33
<script>  
/** 
*@param {string} url 完整的URL地址 
*@returns {object} 自定义的对象 
*@description 用法示例:var myURL = parseURL('http://abc.com:8080/dir/index.html?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://abc.com:8080/dir/index.html?id=255&m=hello#top' 
*/  
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');  
var myURL = parseURL('http://localhost:8080/test/mytest/toLogina.ction?m=123&pid=abc');  
alert(myURL.path);  
alert(myURL.params.m);  
alert(myURL.params.pid);  
</script>
 

相关文章推荐

Node.js url.parse(url, parseQueryString, slashesDenoteHost) 详解

require(‘url’).parse(url, parseQueryString, slashesDenoteHost);默认情况url.parse(url)等价于url.parse(url, f...

json2.js 支持JSON.parse方法

  • 2014年02月19日 22:27
  • 17KB
  • 下载

JS 中json解析和构造详解eval、JSON.stringify、JSON.parse

函数构造定义法返回 var strJSON = "{name:'json name'}";//得到的JSON var obj = new Function("return" + strJSON)(...
  • zjw0742
  • zjw0742
  • 2016年09月28日 17:36
  • 153

JSON.parse()和JSON.stringify() 和 json.js+ jquery 操作笔记

json.js+ jquery 操作笔记

js日期格式化器,format,parse

js日期格式化器,format,parse

php数据库数据转换为js中的json对象,JSON.parse()和JSON.stringify()

---

js Date.parse格式不同小计

今日使用到Date的一些函数,偶然发现parse函数传入相同日期的不同格式会得到不同的值,测试后在此进行小记。 以2010年8月21日为点,测试结果如下: 1、YYYY/MM/dd...
  • Metu_
  • Metu_
  • 2016年08月22日 12:37
  • 222

Parse Fatal Error at line 41 column 24: 元素类型 "url-pattern" 必须由匹配的结束标记 "</url-pattern>" 终止

1、错误描述 严重: Parse Fatal Error at line 41 column 24: 元素类型 "url-pattern" 必须由匹配的结束标记 "" 终止。 org.xml.sax....

js获取URL的信息

  • 2016年03月26日 12:40
  • 4KB
  • 下载

JS获取地址栏url所有信息的方法

  • 2014年05月02日 16:37
  • 21KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JS URL Parse
举报原因:
原因补充:

(最多只允许输入30个字)