2012-03-04 13 views
0

我想執行頁面加載過程取決於URL中的哈希值是什麼。我想我需要RegEx,因爲我正在尋找一個純粹的JavaScript解決方案(沒有庫依賴性)。解析散列URL到JavaScript中的對象?

我想要做的是如果散列是「#/ products」,那麼我會調用「myIndex()」 否則如果散列是「#/ products/3」,那麼我會調用「myDetail (id)「,其中」id「是產品編號的變量。

任何人有關於如何實現這一目標的好主意?

回答

5

下面是一個解決方案,首先檢查字符串'#/products',避免不必要的正則表達式。

var hash = location.hash, 
    regexID = /^#\/products\/(\d+)$/, 
    matches; 

if (hash == '#/products') { 
    myIndex(); 
} else if (matches = hash.match(regexID)) { 
    myDetail(matches[1]); 
}