以下函数可以获取url任意参数的值:
function getParams(key){var url = location.search.replace(/^\?/,'').split('&')
var paramsObj = {}
for(var i = 0, iLen = url.length i < iLen i++){
var param = url[i].split('=')
paramsObj[param[0]] = param[1]
}
if(key){
return paramsObj[key] || ''
}
return paramsObj
}
可选参数key表示获取参数的名称,如果省略该参数,则会返回一个对象,包含所有参数的key和value。
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) : {}
}()
方法一、正则表达式function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i")
var r = window.location.search.substr(1).match(reg)
if (r != null) return unescape(r[2])
return null
}
方法二、
<Script language="javascript">
function GetRequest() {
var url = location.search//获取url中"?"符后的字串
var theRequest = new Object()
if (url.indexOf("?") != -1) {
var str = url.substr(1)
strs = str.split("&")
for(var i = 0i <strs.lengthi ++) {
theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1])
}
}
return theRequest
}
</script>
方法三、
/**
* 获取指定的URL参数值
* URL:http://www.quwan.com/index?name=tyler
* 参数:paramName URL参数
* 调用方法:getParam("name")
* 返回值:tyler
*/
function getParam(paramName) {
paramValue = "", isFound = !1
if (this.location.search.indexOf("?") == 0 &&this.location.search.indexOf("=") >1) {
arrSource = unescape(this.location.search).substring(1, this.location.search.length).split("&"), i = 0
while (i <arrSource.length &&!isFound) arrSource[i].indexOf("=") >0 &&arrSource[i].split("=")[0].toLowerCase() == paramName.toLowerCase() &&(paramValue = arrSource[i].split("=")[1], isFound = !0), i++
}
return paramValue == "" &&(paramValue = null), paramValue
}
其他参数获取介绍:
//设置或获取对象指定的文件名或路径。
alert(window.location.pathname)
//设置或获取整个 URL 为字符串。
alert(window.location.href)
//设置或获取与 URL 关联的端口号码。
alert(window.location.port)
//设置或获取 URL 的协议部分。
alert(window.location.protocol)
//设置或获取 href 属性中在井号“#”后面的分段。
alert(window.location.hash)
//设置或获取 location 或 URL 的 hostname 和 port 号码。
alert(window.location.host)
//设置或获取 href 属性中跟在问号后面的部分。
alert(window.location.search)