2012-05-11 71 views
1

我在JS以下條件語句:的Javascript:找出如果URL等於一個字符串,帶或不帶斜線

if(url === 'http://www.productionlocations.com/locations' || url === 'http://www.productionlocations.com/locations/') 

我試圖使之更有效率,所以我想這:

function stripTrailingSlash(str) { 
    if(str.substr(-1) == '/') { 
     return str.substr(0, str.length - 1); 
    } 
    return str; 
} 

theurl = stripTrailingSlash(url);     
if(theurl === 'http://www.productionlocations.com/locations') 

但很明顯,這只是使得它爲更多的代碼:)

什麼是這樣做的最有效的方法是什麼?我曾嘗試過使用indexOf(),但它不起作用。謝謝你的幫助!

+0

條件語句不會刪除任何東西。如果剝離不是essentiell,不要這樣做! – Amberlamps

+0

一個更簡單的方法來刪除一個尾隨斜線:'str.replace(/ \\ $ /,'')' – 2012-05-11 15:01:30

回答

2

您可以使用test方法:

if(/^http:\/\/www\.productionlocations\.com\/locations\/?$/.test(url)) { 
    // code goes here 
} 
+0

並且必須寫這樣的字符串?不用了,謝謝。 – 2012-05-11 14:59:02

+0

我已經更新了我的答案 – antyrat

+0

這使得很難看到原始的測試網址,並且如果URL更改更難以維護。 – 2012-05-11 14:59:57

相關問題