2017-01-23 60 views
0

嗨我有一個更改密碼頁面重置密碼後,它應該重定向到主頁。 Thia是我更改密碼頁面的URL。如何獲取應用程序的網址?

https://localhost:9003/store/change-password?code=0a05a6d6-2298-4b62-9687-7deae15951e4

我得到這個在JavaScript中使用此。

var url = window.location.href;

我只想要這麼多的URL「https://localhost:9003/store」我怎麼能得到它?

問候, 普里

+0

如果在更改密碼之前它不是動態的,那麼可以拆分它並獲取所需的字符串。 – Shubham

+0

可能重複的[刪除URL或jQuery的URL參數](http://stackoverflow.com/questions/4651990/remove-url-parameters-with-javascript-or-jquery) –

回答

0

沒有直接的辦法。但是這種方法會適合你。

function() { 
    var href = window.location.pathname; 
    var regex = "/[A-Za-z0-9\s]+"; 
    var strArray = href.match(regex); 
    if (strArray && strArray.length) { 
     return window.location.protocol + "//" + window.location.hostname + strArray[0]; 
    } else { 
     return null; 
    } 
} 
0

使用:

document.location.origin 
+0

這將返回「https:// localhost :9003「,但是op想要」https:// localhost:9093/store「 –

1

var url = window.location.origin + (window.location.pathname.indexOf("/")>=0 ? "/" + window.location.pathname.split("/")[1] : ""); 
 
alert(url);

0

它將被定位的API很容易做到。

var host = location.origin; 
    var path = location.pathname; 
    var firstPath = path.split("/")[0]; 
    var url = host + "/" + firstPath; 

url是你想要的。你也可以通過Rexg得到第一個路徑名。

0

var url = "https://localhost:9003/store/change-password?code=0a05a6d6-2298-4b62-9687-7deae15951e4"; 
 

 
var u = url.substr(0,url.indexOf('/',23)); 
 

 
alert(u); 
 

 
console.log(u);

+0

只要主機名是localhost,它就會工作。但是,當它明顯更長或更短時,固定的23偏移不再安全使用。 – fjc

+0

嗯,我認爲你是正確的,但我想我們正在處理在這種情況下的靜態網址。 – bhansa

0

使用下面的語法:

var anchorTag = document.createElement('a'); 
anchorTag.href = "https://localhost:9003/store/change-password?code=0a05a6d6-2298-4b62-9687-7deae15951e4"; 
anchorTag.text = "Link"; 
var hrefText = anchorTag.href; 
var url_1 = anchorTag.origin; 
var url_2 = hrefText.substr(anchorTag.origin.length, hrefText.indexOf('/')); 
var url = url_1 + url_2; 
console.log('url = ', url); 

參考demo

相關問題