本帖最后由 a999888789 于 2012-11-12 15:07:40 编辑

解决方案 »

  1.   

    把if(url.indexOf("id=")>-1)
    {alert('OK');}
    改成
    if(url.indexOf("id")>-1)
    {alert('OK');}
    不就可以了?
      

  2.   

    你的方向想反了吧
     alert(/\bid\b=/.test("http://www.abcd.com/?id=20136832685&pid=2:ad9887&cid=6"))
     alert(/\bid\b=/.test("http://www.abcd.com/?pid=2:ad9887&cid=6"))
      

  3.   

    <script type="text/javascript">
    var Tool = {
    getQueryString:function (url,key){
    url = url.toLowerCase();
    key = key.toLowerCase();
    if(url.indexOf('?')==-1)return "";
    var urlarr = url.split("?");
    urlarr = urlarr[urlarr.length-1];
    urlarr = urlarr.split("&");
    for(var i=0;i<urlarr.length;i++){
    var s=urlarr[i].split("=");
    if(s[0]==key){
    return s[1];
    }
    }
    return "";
    }
    }
    var url="http://www.abcd.com/?id=20136832685&pid=2:ad9887&cid=6";
    alert(Tool.getQueryString(url,'id'));
    </script>
      

  4.   

        var url="http://www.abcd.com/?id=20136832685&pid=2:ad9887&cid=6";
        var reg=/[\?|&]id/gi;
        alert(reg.test(url));
      

  5.   

    正则中的gi可能多余。首先,只需要检测到一个id就行,不需要进行全局的匹配(g进行全局匹配);如果url要区分大小写的话(i的作用是不区分大小写),就需要将i去掉。