JavaScript正则表达式替换哈希

时间:2014-02-12 15:51:29

标签: javascript regex

我正在尝试对哈希进行替换,以便我可以调用与其名称匹配的html文件。

例如:

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

和hash将是:

#/home/

此刻它只会删除#

我错过了什么?

1 个答案:

答案 0 :(得分: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"