<script language="javascript" type="text/javascript">
    function   getNewUrl(oldurl,paramname,pvalue,flag){   
          var   reg   =   new   RegExp("(\\?|&)"+   paramname   +"=([^&]*)(&|$)","gi");   
          var   pst=oldurl.match(reg);   
          if((pst==undefined)   ||   (pst==null))   return   (flag==0)?oldurl:(oldurl+((oldurl.indexOf("?")==-1)?"?":"&")+paramname+"="+pvalue);   
          var   t=pst[0];   
          var   retxt=t.substring(0,t.indexOf("=")+1)+pvalue;   
          if(t.charAt(t.length-1)=='&')   retxt+="&";   
          return   oldurl.replace(reg,retxt);   
    }   
    alert(getNewUrl("http://servername/virturlpath/index.asp?p1=123&attr[75]=aa&p3=hh&p4=1","attr[75]","cxz",1));   </script>

解决方案 »

  1.   

    要把URL中的一个参数attr[75]的值替换成一个新值,可是[转议时总报错];
    <script language="javascript" type="text/javascript"> 
        function   getNewUrl(oldurl,paramname,pvalue,flag){    
              var   reg   =   new   RegExp("(\\? ¦&)"+   paramname   +"=([^&]*)(& ¦$)","gi");    
              var   pst=oldurl.match(reg);    
              if((pst==undefined)    ¦ ¦   (pst==null))   return   (flag==0)?oldurl:(oldurl+((oldurl.indexOf("?")==-1)?"?":"&")+paramname+"="+pvalue);    
              var   t=pst[0];    
              var   retxt=t.substring(0,t.indexOf("=")+1)+pvalue;    
              if(t.charAt(t.length-1)=='&')   retxt+="&";    
              return   oldurl.replace(reg,retxt);    
        }    
        alert(getNewUrl("http://servername/virturlpath/index.asp?p1=123&attr[75]=aa&p3=hh&p4=1","attr\[75\]","cxz",1));    </script>