javascript获取URL参数跟参数值,根据键位修改其值

javascript获取URL参数和参数值,根据键位修改其值

<script type="text/javascript">
<!--
var url = "http://www.baidu.com/?age=25&k=1&site=asp&abc=123;"

//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));
</script>

 

 

 

 

//根据键位修改其值
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);