javascript - 如何使用 javascript 从 URL 中删除所有参数和域名?

标签 javascript regex url

给定一系列 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/

相关文章:

java - 如何从javascript调用servlet

javascript - 单击 Javascript Alert 中的按钮在新窗口中打开弹出窗口

regex - 使用 REGEX 在 Hive Create 和 Load Query 中获取空值

javascript - 正则表达式查找字符串末尾的单词

regex - 重写正则表达式而不使用否定

javascript - 将 JSON 数据解析为 HTML

javascript - 使用 MEAN angularjs Nodejs Stack 的 Phonegap 客户端

c# - 从不带 .ashx 扩展名的 URL 访问 ASHX

ios - UIPickerView "didSelectRow"选择带有指向 url 的按钮

PHP 获取 URL 参数及其值