如何利用JS实现将URL中特定的参数以及其值去掉,例如:
 
 PostTopic.aspx?forumID=18 && askID=192 && userID=11现在我想去掉最后那个参数和他的值,变成
 
  PostTopic.aspx?forumID=18 && askID=192 如果我想灵活的去掉任何一个参数和他的值以及他的&&符号 我该怎么实现? 谢谢啦!

解决方案 »

  1.   

    应该是一个&.
    <% 
       
     Dim str,reg,key
    str  = "PostTopic.aspx?forumID=18&askID=192&userID=11"
    key = "userID"
    set reg = new RegExp
    reg.Pattern = "&"&key&"=[^$&]*"
    reg.IgnoreCase = true
    str = reg.Replace(str,"")
    Response.Write(str)
     %>
     
      

  2.   


    s = "PostTopic.aspx?forumID=18&askID=192&userID=11"
    function strip(s, p){
        var a = s.split("?");
        if(a.length<2) return s;
        var re = new RegExp(p + "=[^&]+&?","gi"); 
        var t = a[1].replace(re, "");
        if(t.charAt(t.length-1)=="&") t = t.substr(0,t.length-1);
        return a[0] + "?" + t;
    }
    alert(strip(s, "userId"));
    alert(strip(s, "forumId"));
    alert(strip(s, "askID"));
      

  3.   

    <script>
    var str="PostTopic.aspx?forumID=18 && askID=19255555 && userID=11"
    document.write(str.replace(/&&\saskID=[\d]*/,""));//把这里的askID换成你想替换的参数名即可
    </script>
      

  4.   

    <body>
    <script type="text/javascript" src="http://localhost/leb/auto/js/jquery-latest.js"></script>
    <script>
    function clink(){
    var href= $("a").eq(0).attr("href");
    var reg=/\s&&\suserID\=\d*/g;
    href=href.replace(reg,"");
    $("a").eq(0).attr("href",href);
    alert($("a").eq(0).attr("href"));
    }
    </script>
    <a href="http://localhost/PostTopic.aspx?forumID=18 && askID=192 && userID=11">测试链接</a>
    <button onclick='clink()'>替换</button>
    </body>
      

  5.   

    如果上面正则运行正确的话,正则的效率是最高的。<html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title></title>
        <script type="text/javascript">
            
            var url="PostTopic.aspx?forumID=18&askID=192&userID=11";
            var arrKeyValue;
            window.onload = function()
            {
                if (url)
                {
                    if (url.indexOf("?") > -1)
                    {
                        arrKeyValue = url.substring(url.indexOf("?") + 1);
                        arrKeyValue = arrKeyValue.split("&");
                    }
                }
            }        
            function removeKeyValue(key)
            {
                for (var i = 0; i < arrKeyValue.length; i++)
                {
                    if (arrKeyValue[i].indexOf(key)>-1)
                    {
                        arrKeyValue.splice(i, 1);
                        break;
                    }
                }
                return arrKeyValue.join("&");
            }
            
        </script>
    </head>
    <body><input type="button" onclick="javascript:alert(removeKeyValue('userID'))" value="移除userID" />
    <input type="button" onclick="javascript:alert(removeKeyValue('askID'))" value="移除askID" /></body>
    </html>