我正在尝试对哈希进行替换,以便我可以调用与其名称匹配的html文件。
例如:
var url = '/partials/' + ( hash.replace( /^#/, '' ) || 'blank' ) + '.html';
和hash将是:
#/home/
此刻它只会删除#
我错过了什么?
答案 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"