给定一系列 URL
http://www.anydotcom.com/myfolder/some-url.html http://www.anydotcom.com/myfolder2/index.html# http://www.anydotcom.com/myfolder3/index.html?someParam=aValue http://www.anydotcom.com/foldername/index.html?someParam=anotherValue
首先,我怎样才能去掉 URL 末尾的任何内容,以便我最终得到
http://www.anydotcom.com/myfolder/some-url.html http://www.anydotcom.com/myfolder2/index.html http://www.anydotcom.com/myfolder3/index.html http://www.anydotcom.com/foldername/index.html
或者,理想情况下,我希望它返回
/myfolder/some-url.html /myfolder2/index.html /myfolder3/index.html /foldername/index.html
我试过了
var thisUrl = "" + window.location; var myRegExp = new RegExp("([^(\?#)]*)"); thisUrl = myRegExp.exec(thisUrl);
但这会返回
http://www.anydotcom.com/foldername/index.html,http://www.anydotcom.com/foldername/index.html
我不太明白为什么。
在此感谢您的帮助!
最佳答案
好吧,为了直接回答您的问题,这里是执行此操作的正则表达式。
thisUrl = thisUrl.replace( /^https?:\/\/[^\/]|\?.*$/g, '' );
但是,由于您在代码中提到了 window.location,您实际上可以直接从 location object 中获取此数据。 .
thisUrl = top.location.pathname;
关于javascript - 如何使用 javascript 从 URL 中删除所有参数和域名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1239258/