去掉 #anchor 及其后面的所有内容,包括 #anchor 本身

5

将此更改为...

www.sample.com/sample.html#commentxxx?stuffhereIdontneed

转换成这样...

www.sample.com/sample.html

我把它放在一个链接中,所以我认为我需要一个正则表达式?

document.write("<a href='"+ window.location.href.replace('?????', '') +  
"?ThisIsAppendedLater'>sample</a>");  
4个回答

17

Nathan的回答很好。为了完整起见,这里是正则表达式:

var stripped = window.location.href.replace(/#.*$/,'');

7

window.location.hash = '';


这比“regex”标签更好,但它是否可移植? - xtofl
我需要在一个链接中使用它(我已编辑),但也许你先剥离它会更好? - gravityboy
好的,那我会选择其他解决方案。最好不要直接操作URL,除非这确实是你想要做的...否则浏览器可能会意外跳转到页面顶部。 - Nathan MacInnes

1

url.substring(0,url.indexOf("#"))


+1. 如果我只想获取URL(而不是修改它),那么这就是我要使用的内容。 - Nathan MacInnes

0
如果您想要一个基于正则表达式的解决方案,您可以使用以下代码:
window.location.href.replace('#.*', '');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接