使用Javascript获取字符串的结尾

使用Javascript获取字符串的结尾,javascript,Javascript,我正在变量中存储一个字符串(url) 它可以看起来像1/2/3/test.aspx?ID=12312 我想提取querystring值,不是从window.location而是从html中提取 我想我可以用substring和write var link = ($(this).find('a').attr('href')); var qs = link.substring( link.indexOf("="), text.indexOf(" ") ) 但它返回的字符串在=之前,而不是之后

我正在变量中存储一个字符串(url) 它可以看起来像1/2/3/test.aspx?ID=12312 我想提取querystring值,不是从window.location而是从html中提取

我想我可以用substring和write

var link = ($(this).find('a').attr('href')); 
var qs = link.substring( link.indexOf("="),  text.indexOf(" ") )
但它返回的字符串在=之前,而不是之后

我做错了什么?
提前感谢。

省略第二个参数即可。在这种情况下,应该返回从提供的索引开始的字符串结尾。

只需省略第二个参数。在本例中,应该返回从提供的索引开始的字符串结尾。

不久前,我为此编写了一个简短的函数:

  /**
   * Gets the query parameters of the given URI as a associative array or map
   * e.g. Given a URI http://www.level3labs.com/jaf?foo=bar&baz=bazzm, will
   * give {"foo":"bar", "baz":"bazzm"}
   * @param {URI} strUri The uri with a query
   * @return Object containing query params or and empty object 
   */
  function getQueryParams(strUri)   {
     var paramMap = {};
     if(!!strUri)   {
        return paramMap;
     }

     var strQuery = strUri.substring(strUri.indexOf("?"));
     if(strQuery && strQuery.indexOf("?") === 0 && strQuery.length > 1) {
        strQuery = strQuery.substring(1);
        var paramValArr = strQuery.split("&");
        for(var i = 0, len = paramValArr.length; i < len; i++)   {
           var paramVal = paramValArr[i];
           var delimIdx = paramVal.indexOf("=");

           var param = null;
           var val = null;
           if(delimIdx >= 0) {
              param = unescape(paramVal.substring(0, delimIdx));
              val = unescape(paramVal.substring(delimIdx + 1));
           }else {
              param = unescape(paramVal);
           }
           paramMap[param] = val;
        }
     }
     return paramMap;
  }
/**
*以关联数组或映射的形式获取给定URI的查询参数
*例如,给定一个URIhttp://www.level3labs.com/jaf?foo=bar&baz=bazzm,将
*给出{“foo”:“bar”,“baz”:“bazzm”}
*@param{URI}strUri使用查询返回URI
*@返回包含查询参数或空对象的对象
*/
函数getQueryParams(strUri){
var paramMap={};
如果(!!strUri){
返回参数图;
}
var strQuery=strUri.substring(strUri.indexOf(“?”);
if(strQuery&&strQuery.indexOf(“?”)==0&&strQuery.length>1){
strQuery=strQuery.substring(1);
var paramValArr=strQuery.split(“&”);
对于(变量i=0,len=paramValArr.length;i=0){
param=unescape(paramVal.substring(0,delimIdx));
val=unescape(paramVal.substring(delimIdx+1));
}否则{
param=unescape(paramVal);
}
paramMap[param]=val;
}
}
返回参数图;
}

不久前,我为此编写了一个简短的函数:

  /**
   * Gets the query parameters of the given URI as a associative array or map
   * e.g. Given a URI http://www.level3labs.com/jaf?foo=bar&baz=bazzm, will
   * give {"foo":"bar", "baz":"bazzm"}
   * @param {URI} strUri The uri with a query
   * @return Object containing query params or and empty object 
   */
  function getQueryParams(strUri)   {
     var paramMap = {};
     if(!!strUri)   {
        return paramMap;
     }

     var strQuery = strUri.substring(strUri.indexOf("?"));
     if(strQuery && strQuery.indexOf("?") === 0 && strQuery.length > 1) {
        strQuery = strQuery.substring(1);
        var paramValArr = strQuery.split("&");
        for(var i = 0, len = paramValArr.length; i < len; i++)   {
           var paramVal = paramValArr[i];
           var delimIdx = paramVal.indexOf("=");

           var param = null;
           var val = null;
           if(delimIdx >= 0) {
              param = unescape(paramVal.substring(0, delimIdx));
              val = unescape(paramVal.substring(delimIdx + 1));
           }else {
              param = unescape(paramVal);
           }
           paramMap[param] = val;
        }
     }
     return paramMap;
  }
/**
*以关联数组或映射的形式获取给定URI的查询参数
*例如,给定一个URIhttp://www.level3labs.com/jaf?foo=bar&baz=bazzm,将
*给出{“foo”:“bar”,“baz”:“bazzm”}
*@param{URI}strUri使用查询返回URI
*@返回包含查询参数或空对象的对象
*/
函数getQueryParams(strUri){
var paramMap={};
如果(!!strUri){
返回参数图;
}
var strQuery=strUri.substring(strUri.indexOf(“?”);
if(strQuery&&strQuery.indexOf(“?”)==0&&strQuery.length>1){
strQuery=strQuery.substring(1);
var paramValArr=strQuery.split(“&”);
对于(变量i=0,len=paramValArr.length;i=0){
param=unescape(paramVal.substring(0,delimIdx));
val=unescape(paramVal.substring(delimIdx+1));
}否则{
param=unescape(paramVal);
}
paramMap[param]=val;
}
}
返回参数图;
}
试试这个

var link = ($(this).find('a').attr('href')); 
var qs = link.substring( link.indexOf("="));
试试这个

var link = ($(this).find('a').attr('href')); 
var qs = link.substring( link.indexOf("="));
另一种方法可以是:

var qs=link.split(“=”).pop()

另一种方法可以是:

var qs=link.split(“=”).pop()


嗨,我以前试过,但是剧本坏了。再试一次,它就工作了,所以一定是其他变量变量linkID=link.substring(link.indexOf(“=”)+1)做的。哦,真的吗?我不知道。:-)嗨,我以前试过,但是剧本坏了。再试一次,它就工作了,所以一定是其他变量变量linkID=link.substring(link.indexOf(“=”)+1)做的。哦,真的吗?我不知道。:-)