我想从已有的URL中删除/view-photo/P1270649
。我目前正在使用它来这样做:
var pathname = window.location.pathname;
var replaced = pathname.replace('/view-photo/' + /([A-Z0-9]+)/g, '');
但是,当我尝试使用此功能时,没有任何反应。您可以see it in action on JSFiddle。如何解决此问题?
最佳答案
您不能以这种方式组合字符串和正则表达式。最简单的操作是将其完全放在正则表达式中:
var replaced = pathname.replace(/\/view-photo\/([A-Z0-9]+)/g, '');
最初发生的是将正则表达式对象转换为字符串,这实际上会使您的
replace()
看起来像这样:var replaced = pathname.replace("/view-photo//([A-Z0-9]+)/g", '');
...将搜索该字符串的文字版本,当然不存在。