2012-07-16 76 views

回答

3

你可以使用這個簡單的正則表達式:

yourUrl.replace(/\?.+/, '') 

reomve()是DOM的東西。

4

試試這個片斷:

var url = "http://www.somexample.com?a=b&c=2&d=3"; 
url = url.substring(0 , url.indexOf('?')+1); 
+0

如果我可以添加更多不僅僅是'?',比如說會檢查'?'還是另一個字母,比如'&'? – hellomello 2012-07-17 04:43:02

+0

這將始終匹配URL – amd 2012-07-17 06:06:17

+0

中的第一個問號,我想知道如果替換中沒有'?',而是它是'&'而不是。我想知道是否有可能做這樣的事情,如'url.indexOf('?','&')+ 1)' – hellomello 2012-07-17 20:13:51

9

由於網址是由瀏覽器當您更改網址的頁面將重新加載控制。還在爲你想做的事,你在哪裏不需要?馬克型後的東西頁..什麼

window.location = "http://www.mysite.com" //or whatever your site url is 

要動態地做到這一點,你可以用下面的函數,然後用window.location

function getPathFromUrl(url) { 
    return url.split("?")[0]; 
} 

注意當您更改網址時,頁面將刷新。

+0

有一點需要注意(即使答案是正確的):是的,它是有效的一個URL中有多個問號,請參閱http://stackoverflow.com/questions/2924160/is-it-valid-to-have-more-than-one-question-mark-in-a-url,所以如果你想要其餘的url字符串,你不能「只」使用'url.split(「?」)[1];' – 2014-10-30 14:13:30

+0

順便說一句,解決方案來獲得剩餘的url字符串(包含所有參數)將是:' url.substring(url.indexOf('?')+ 1);' – 2014-10-30 14:28:39

+0

這裏是一個快速現場演示http://jsbin.com/xikufatohi/1/edit?js,console – 2014-10-30 14:43:04

相關問題