如何使用 javascript/jquery 从 URL 中删除获取变量和文件名?
Posted
技术标签:
【中文标题】如何使用 javascript/jquery 从 URL 中删除获取变量和文件名?【英文标题】:How do I remove get variables and filename from URL using javascript/jquery? 【发布时间】:2012-02-27 01:01:50 【问题描述】:我正在研究这个问题,但我找不到任何可靠的答案来解决这个特定的目的。假设我有一个网址...
http://mysite.com/stuff/index.php?search=my+search
我怎样才能获取这个 URL 并从中删除 index.php?search=my+search 所以它只是 http://mysite.com/stuff/ ?基本上我只想获取没有文件名的父 URL 或获取变量......无论 URL 是什么(所以我不必为我想要使用它的每个页面自定义函数)
再举一个例子,如果只是……
http://mysite.com/silly.php?hello=ahoy
我只想返回http://mysite.com的根
谁能帮我解决这个问题?我完全迷路了。
【问题讨论】:
【参考方案1】:尝试使用lastIndexOf("/")
:
var url = "http://mysite.com/stuff/index.php?search=my+search";
url = url.substring(0, url.lastIndexOf("/") + 1);
alert(url); // it will be "http://mysite.com/stuff/"
或
var url = "http://mysite.com/silly.php?hello=ahoy";
url = url.substring(0, url.lastIndexOf("/") + 1);
alert(url); // it will be "http://mysite.com/"
【讨论】:
谢谢,我想我现在会一直使用 lastIndexOf。console.log(url)
比警报好得多。【参考方案2】:
如果你的网址在str
:
newstr = str.replace(/\/[^\/]+$/,"");
newstr
现在包含直到但不包括字符串中最后一个/
的路径。要保留最终的/
,请使用:
newstr = str.replace(/\/[^\/]+$/,"/");
【讨论】:
【参考方案3】:在“/”上拆分,丢弃最后一块,将它们重新连接起来,添加尾部斜杠。
var path = location.href.split('/');
path.pop();
path = path.join("/") + "/";
【讨论】:
【参考方案4】:您正在寻找location.host
或location.hostname
。但是您想从完整的字符串中提取它们而不是从当前 URL 中提取它们吗?
我再次阅读了这个问题,您似乎想要获得包含以下内容的字符串:
location.protocol + "//" + location.host + location.pathname
对吗?
【讨论】:
location.pathname
将包含index.php
以上是关于如何使用 javascript/jquery 从 URL 中删除获取变量和文件名?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 JavaScript/jQuery 从 HTML 中获取符号的 unicode/hex 表示?
如何使用 javascript/jquery 从 URL 中删除获取变量和文件名?
如何从 .cs 文件 (C#) 调用 JavaScript/jQuery 函数
使用 Javascript/jquery 如何从选定行中的每个单元格获取值
如何使用 JavaScript/jQuery 从 ASP.NET Web 窗体的 GridView 内部同时上传多个文件?