2012-03-04 5 views
0

URLのハッシュに応じて、ページの読み込み時にプロセスを実行したいと思います。 RegExが必要なのは、純粋なJavaScriptソリューション(ライブラリの依存関係なし)を探しているからです。JavaScriptでオブジェクトにハッシュURLを解析していますか?

ハッシュが "#/ 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]); 
} 
関連する問題