javascript获取url参数以及改变url参数值
//javascript获取指定参数及其对应的值
function getParameter(paraStr, url)
{
var result = "";
//获取URL中全部参数列表数据
var str = "&" + url.split("?")[1];
var paraName = paraStr + "=";
//判断要获取的参数是否存在
if(str.indexOf("&"+paraName)!=-1)
{
//如果要获取的参数到结尾是否还包含“&”
if(str.substring(str.indexOf(paraName),str.length).indexOf("&")!=-1)
{
//得到要获取的参数到结尾的字符串
var TmpStr=str.substring(str.indexOf(paraName),str.length);
//截取从参数开始到最近的“&”出现位置间的字符
result=TmpStr.substr(TmpStr.indexOf(paraName),TmpStr.indexOf("&")-TmpStr.indexOf(paraName));
}
else
{
result=str.substring(str.indexOf(paraName),str.length);
}
}
else
{
result="无此参数";
}
return (result.replace("&",""));
}
alert(getParameter('age', url));
//根据键位修改其值
String.prototype.changeQuery = function(name,value){
var reg = new RegExp("(^|)"+ name +"=([^&]*)(|$)");
var tmp = name + "=" + value;
if(this.match(reg) != null){
return this.replace(eval(reg),tmp);
}
else{
if(this.match("[/?]")){
return this + "&" + tmp;
}
else{
return this + "?" + tmp;
}
}
}
var pageUrl= "http://www.baidu.com/?age=25&k=1&site=asp&abc=123;"pageUrl.changeQuery("age",30);alert(pageUrl);
正文到此结束