比如我地址栏是http://www.abc.com/asd.aspx?sss=sss&ddd=ddd&ccc=ccc有多少个“&”我们是不清楚的,但是我想取得最后一个“&”符号后面的字符串,要怎样写啊?

解决方案 »

  1. 本帖最后由 net_lover 于 2010-08-18 10:14:59 编辑
      

  2. 送手册 JScript 语言参考
    http://download.csdn.net/source/308916
      

  3. 封装一下更和谐
    function GetLastQueryString(url) {
        return url.substr(url.lastIndexOf("&")+1);
    }
    var s = "http://www.abc.com/asd.aspx?sss=sss&ddd=ddd&ccc=ccc";
    alert(GetLastQueryString(s));
      

  4. var s = "http://www.abc.com/asd.aspx?sss=sss&ddd=ddd&ccc=ccc";
    var m = s.match(/&([^&]+)$/);
    if (m) alert(m[1]);
      

  5. 另一种情况:
    var s = "http://www.abc.com/asd.aspx?sss=sss";
    var m = s.match(/[&?]([^&?]+)$/);
    if (m) alert(m[1]);
      

  6. 确实忘了一种,那就修改一下function GetLastQueryString(url) {
        var lastQueryString = null;
        var queryStringStartIndex = url.indexOf("?") + 1;
        var lastQueryStringIndex;
        if (queryStringStartIndex > 0)
        {
            lastQueryStringIndex = url.lastIndexOf("&")+1;
            if (lastQueryStringIndex == 0)
                lastQueryStringIndex = queryStringStartIndex + 1
            
            lastQueryString = url.substr(lastQueryStringIndex);
        }
        return lastQueryString;
    }
    var s = "http://www.abc.com/asd.aspx?sss=sss&ddd=ddd&ccc=ccc";
    alert(GetLastQueryString(s));
    var p = "http://www.abc.com/asd.aspx?sss=sss";
    alert(GetLastQueryString(p));
      

  7. 晕,里面多加了一次 1,修正一下L@_@K
    function GetLastQueryString(url) {
        var lastQueryString = null;
        var queryStringStartIndex = url.indexOf("?") + 1;
        var lastQueryStringIndex;
        if (queryStringStartIndex > 0)
        {
            lastQueryStringIndex = url.lastIndexOf("&") + 1;
            if (lastQueryStringIndex == 0)
                lastQueryStringIndex = queryStringStartIndex;
            
            lastQueryString = url.substr(lastQueryStringIndex);
        }
        return lastQueryString;
    }
    var s = "http://www.abc.com/asd.aspx?sss=sss&ddd=ddd&ccc=ccc";
    alert(GetLastQueryString(s));
    var p = "http://www.abc.com/asd.aspx?sss=sss";
    alert(GetLastQueryString(p));
      

  8. 清洁工以后回复js问题都解释一下吧,嘿嘿,js有时候有的语法感觉很怪。。
    而且对正则也不大懂。。
      

类似问题 »