使用Javascript删除URL的结尾

fly*_*227 4 javascript

使用window.location.pathname我得到"/ Mobile/Evol/12-20-2011".

使用Javascript,我怎么能在"Evol /"之后删除所有东西,以便得到"/ Mobile/Evol /"?

Hun*_*len 6

您可以使用substring()lastIndexOf()函数的组合轻松切断最后一切之后的所有内容/:

uri    = "/Mobile/Evol/12-20-2011";
newUri = uri.substring(0, uri.lastIndexOf('/'));
Run Code Online (Sandbox Code Playgroud)

正如@josh指出"/ Evol"之后是否有更多目录,这会失败.您可以通过搜索字符串'Evol /'然后将其长度添加回子字符串结尾来解决此问题:

dir = "Evol/";
newUri = uri.substring(0, uri.lastIndexOf(dir) + dir.length);
Run Code Online (Sandbox Code Playgroud)

Chrome控制台为我提供了以下输出:

> uri    = "/Mobile/Evol/12-20-2011";
"/Mobile/Evol/12-20-2011"

> dir = "Evol/";
  newUri = uri.substring(0, uri.lastIndexOf(dir) + dir.length);
"/Mobile/Evol/"
Run Code Online (Sandbox Code Playgroud)