转载

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);
正文到此结束
Loading...