一、URL解析函数
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= 배열 = ['dir', 'index.html']
myURL.port= '8080'
myURL.protocol= 'http'
myURL.source= 'http://abc.com:8080/dir/index.html?id=255&m=hello#top'
*/
function parURL(url) {
var a = document.createElement('a');
a.href = URL;
return {
소스: url,
protocol: a.protocol.replace(':',''),
host: a.hostname,
port: a.port,
쿼리: a.search,
params: (function(){
var ret = {},
seg = a.search.replace(/^?/,'').split(' &'),
len = seg.length, i = 0, s;
for (;i
ret[s[0]] = s[1];
}
return ret;
}),
파일: (a.pathname.match(//([^/?#] )$/i) || [,''])[1],
해시: a.hash.replace('#' ,''),
경로: a.pathname.replace(/^([^/])/,'/$1'),
상대: (a.href.match(/tps?:// [^/] (. )/) || [,''])[1],
세그먼트: 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');
경고(myURL.path);
경고(myURL.params.m);
경고(myURL.params.pid);
이중, JS分段URL解析
复代码码
3,window.location.host
本例返回值:www.jb51.net
4,window.location.port
如果采用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是字符
本例返回值:”"
URL 的路径part分(就是文件地址)
本例返回值:/seo/
查询(参数)부분분
除了给动态语言赋值以외,我们同样可以给静态页면, 并使사용javascript来获得상信应的参数值
本例返回值:?ver=1.0&id=6
锚点
本例返回值:#imhere