我有一个类似于 - /celebrity.html#portfolios/jennifer-aniston-2006#img10
我想删除#img10(也可以是#img6;确实是任何数字)。
我已使用此代码
var docLoc = document.location.href.replace("#img", '');
var docLoc2= docLoc.replace(/[0-9]+/,'');
当我记录docLoc2时,我得到/celebrity.html#portfolios/jennifer-aniston-
我真的想结合这两个替换函数,所以它一次完成所有,因此只删除#img10,我也写了这个:
var docLoc = document.location.href.replace("#img"+/[0-9]+/, '');
这不起作用(我认为语法错误)。
有人能为我提供解决方案吗?任何回复都非常感谢。
答案 0 :(得分:4)
使用
var docLoc = document.location.href.replace(/#img[0-9]+$/, '');
演示
更新:在表达式的末尾添加了$
,只有匹配#img??
(如果它位于字符串的末尾),如ŠimeVidas所建议的那样评论..
.replace
MDN Docs适用于字符串或正则表达式。您尝试将两者结合使用错误的语法,如您所述。
答案 1 :(得分:0)
你的正则表达式可能就是这个
#img\d*