你要解析出什么东西?
反正所有的东西都在window.location 对象里面:
location.host 返回主机和端口号
location.hostname 返回 web 主机的域名
location.pathname 返回当前页面的路径和文件名
location.port 返回 web 主机的端口 (80 或 443)
location.protocol 返回所使用的 web 协议(http:// 或 https://)
location.hash 返回锚(#后面)
location.href 返回完整的url
location.search 返回参数部分(?后面)
其他的东西比如获取参数值什么的用正则就行了,一个方法搞定:
window.getParam = function (name) {var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)")
var r = window.location.search.substring(1).match(reg)
return r ? decodeURI(r[2]) : null
}
js可以通过以下方法获取url地址的参数:1、比如有如下url请求:
http://zhidao.baidu.com/question/586494936989579005.html?entry=business_qb&ishq=1
2、可以用一下方法获取参数:
var params = function(str) {
function urldecode(str) {
return decodeURIComponent((str+'').replace(/\+/g, '%20'))
}
function transformToAssocArray( prmstr ) {
var params = {}
var prmarr = prmstr.split("&")
for ( var i = 0i <prmarr.lengthi++) {
var tmparr = prmarr[i].split("=")
params[tmparr[0]] = urldecode(tmparr[1])
}
return params
}
var prmstr = window.location.search.substr(1)
return prmstr != null &&prmstr != "" ? transformToAssocArray(prmstr) : {}
}()
var parseQuery = function(query){var reg = /([^=&\s]+)[=\s]*([^=&\s]*)/g
var obj = {}
while(reg.exec(query)){
obj[RegExp.$1] = RegExp.$2
}
return obj
}
var jerry = parseQuery("name=jerry&age=1")
console.log(jerry)
var tom = parseQuery("name= tom &age=12&gender&")
console.info(tom)