我有一個函數,使用正則表達式返回給定url的根域。Javascript簡單的正則表達式來尋找根域
function cleanUp(url) {
url = url.replace(new RegExp(/^\s+/),""); // START
url = url.replace(new RegExp(/\s+$/),""); // END
// IF FOUND, CONVERT BACK SLASHES TO FORWARD SLASHES
url = url.replace(new RegExp(/\\/g),"/");
// IF THERE, REMOVES 'http://', 'https://' or 'ftp://' FROM THE START
url = url.replace(new RegExp(/^http\:\/\/|^https\:\/\/|^ftp\:\/\//i),"");
// IF THERE, REMOVES 'www.' FROM THE START OF THE STRING
url = url.replace(new RegExp(/^www\./i),"");
//remove slash from end
url = url.replace(new RegExp(/\/$/i),"");
return url;
}
,但它使用正則表達式的多,我們所擔心的性能。是否有更好的方法來做同樣的一行正則表達式?
注意:
document.location.host似乎不工作在我的情況。
謝謝,看起來不錯,我會徹底測試並回復。 – Selvam 2013-02-11 11:14:48
我已將它更新爲www.google.com,http://jsfiddle.net/svjTC/1/,在這種情況下可能會失敗,我們可以擴展它嗎? – Selvam 2013-02-12 05:07:16
@Selvam試試這個:http://jsfiddle.net/mwHHH/ – geniuscarrier 2013-02-12 19:16:53