可能重複:
Remove everything after a certain character的JavaScript找到字符串,刪除以下所有字符
如果我有
var shot = www.site.com/ask
,我想以後刪除所有字符「 /「 (包含 」/」)。 這樣的結果將是
www.site.com
注:拍攝動態變化值 ,這將所有的JavaScript來完成。
可能重複:
Remove everything after a certain character的JavaScript找到字符串,刪除以下所有字符
如果我有
var shot = www.site.com/ask
,我想以後刪除所有字符「 /「 (包含 」/」)。 這樣的結果將是
www.site.com
注:拍攝動態變化值 ,這將所有的JavaScript來完成。
假設你想要的/
之前,你可以找到一個字符的索引,並返回之前的子一切後,將刪除一切:
var shot = "www.site.com/ask";
var index = shot.indexOf("/");
var result;
if (index < 0) {
result = shot;
} else {
result = shot.substr(0, index);
}
// result = "www.site.com"
如果您想要從包含協議的字符串獲取域,例如http://www.site.com/ask
並得到www.site.com
那麼你需要包含額外的邏輯,因爲上面的代碼將返回http:
。
這裏有一個正則表達式的第一個斜槓
var shot = 'www.site.com/ask';
shot.replace(/\/.+/, '');
var shot = 'www.site.com/ask';
var site = shot.replace(/\/.*$/,'');
site
現在將包含www.site.com
'www.site.com/ask'.split('/', 1)[0]; // => www.site.com
試試這個:
/^(.*?)\//.exec(shot)[1]
或:
shot.match(/^[^\/]*/)[0]
你可以讓做解析的瀏覽器你:
var a = document.createElement("a");
a.href = "http://" + "www.site.com/ask";
alert(a.hostname);
//"www.site.com"
有趣的方法 – 2012-07-26 11:40:27
最簡單的非正則表達式的方法是
shot = shot.substr(0, shot.indexOf('/'));
但這並不佔存在介於http://
或相似。爲此,你需要一個正則表達式。
shot = shot.replace(/([^\/])\/([^\/].*)?$/, '$1');
正則表達式也不起作用。至少,我認爲這個意圖是爲了「http://www.site.com/ask」最終成爲'「http://www.site.com」',但是替換返回'「http:」 '。 – nnnnnn 2012-07-26 12:05:38
兩人都有錯別字......第一個錯過了第一個參數,第二個錯誤現在也被修正了。 – 2012-07-26 12:22:42
請發表您曾嘗試過的至今。你有沒有搜索過你的問題的答案? – 2012-07-26 11:35:59
[你有什麼試過](http://whathaveyoutried.com)? – Bergi 2012-07-26 11:38:36
正在拍攝你當前的網址?如果是這樣,你可以使用'window.location.host'。 – 2012-07-26 11:39:27