2014-02-12 78 views
1

我正試圖做一個替換散列,所以我可以調用一個匹配它的名稱的HTML文件。JavaScript正則表達式替換散列

例如:

var url = '/partials/' + (hash.replace(/^#/, '') || 'blank') + '.html';

和散列將是:

#/home/

目前它只會刪除#

你有什麼我錯過了什麼?

+0

我覺得你的代碼只是替換#沒有任何東西,所以它被刪除 – Huangism

+0

給出一個示例輸入和輸出。獲得更多答案。 – sln

回答

2

它看起來像你也想要刪除前導和尾隨/以及。嘗試使用模式是這樣的:

/^#\/|\/$/g 

例如:

var hash = '#/home/'; 
var url = '/partials/' + (hash.replace(/^#\/|\/$/g, '') || 'blank') + '.html'; 
console.log(url); // "/partials/home.html" 

或可能嘗試使用match代替replace,像這樣:

var hash = '#/home/'; 
var url = '/partials/' + (hash.match(/\w[\w/]*\w/) || 'blank') + '.html'; 
console.log(url); // "/partials/home.html" 
+0

謝謝。這很好。 – Cameron