希望在域之后但在其他任何事情之前获取值。
所以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中获取的内容。
感谢。
答案 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。这样做应该返回“路径”或反斜杠之后的任何内容