得到'关注'来自url - domain.com/following#2

时间:2014-07-30 21:33:05

标签: javascript jquery url fragment

希望在域之后但在其他任何事情之前获取值。

所以URL的一个例子是:

www.domain.com/following#2

我只想从该网址中获取该字词。

目前有这个重定向用户并在任何片段之后获取数据等:

// First get the page URL and split it via # and ? signs
var parts = location.href.split('#');
var queryParameters = location.search.split('?');

// Now we get the value of the page value in the URL if there is one
var pageNumber = 0;
for(var i = 0; i < queryParameters.length; i++)
 {
 var keyvaluePair = queryParameters[i].split('=');
 if(keyvaluePair[0] == 'page')
 {
   pageNumber = keyvaluePair[1];
   break;
 }
}

// Next we check how many parts there are in the URL and if this a value, we add it to the current page
// and redirect to that new page number
if(parts.length > 1)
{
  var params = parts[0].split('?');
  var mark = '?';
  if(params.length > 1)
  {
    mark = '?';
  }
  var newPageNumber = parseInt(parts[1], 10) + parseInt(pageNumber, 10);
  location.href = mark + 'page=' + newPageNumber;
}

因此,我需要更改此行:

location.href = mark + 'page=' + newPageNumber;

location.href = following + mark + 'page=' + newPageNumber;

但我会使用变量而不是依赖于我从URL中获取的内容。

感谢。

2 个答案:

答案 0 :(得分:1)

您可以使用正则表达式来获取该文本:

var regex = /\/(.*)#/;
var url = 'www.domain.com/following#2';

var result = url.match(regex);
if (result.length > 0) {
    console.log(result[result.length - 1]);
}

免责声明 - 此特定示例不适用于网址开头的http://,但我使用了您问题中的网址。

答案 1 :(得分:1)

您可以尝试使用location.pathname。这样做应该返回“路径”或反斜杠之后的任何内容