String.prototype.getQuery = function(name)
{
    var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
    var r = this.substr(this.indexOf("\?")+1).match(reg);
    if (r!=null) return unescape(r[2]); return null;
}
var s = "web1.aspx?status=item&mode=edit";
alert(s.getQuery("status"));
alert(s.getQuery("mode"));

解决方案 »

  1.   

    String.prototype.getQuery = function(name)
    是什么意思!?你的意思是创建一个getQuery方法,然后调用他吗!
      

  2.   

    String.prototype.getQuery = function(name)
    的意思是为String对象增加一个getQuery(name)方法.
    可以近似认为是继承.
      

  3.   

    好象有问题:var tmp=window.location;
    tmp获取后值不为string,用tmp.toString()不行,
    而你
    var s = "web1.aspx?status=item&mode=edit";
    s直接定义为了String,肯定不会报错,我的会报找不到这个属性(指getQuery)我的代码: function getStr(name)
         {
        var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
        var r = this.substr(this.indexOf("\?")+1).match(reg);
        if (r!=null) return unescape(r[2]); return null;
         }     String.prototype.getQuery = getStr;    var s = "web1.aspx?status=item&mode=edit";
        var s = window.location;
        var ss = s.toString;
         alert(ss.getQuery("status"));
         alert(sss.getQuery("mode"));现在关键是:window.location获取的url是不是一个String?
      

  4.   

    var s = window.location.href;  //不要漏写后的 href