Javascript 以/结尾获取url的最后一部分

Javascript 以/结尾获取url的最后一部分,javascript,string,url,Javascript,String,Url,我正在尝试获取此url的最后一部分: http://webserver/Foo/login/ 我写的代码是: var location = window.location.href.split('/').pop(); 将返回一个空字符串,因为/之后没有任何内容。 我需要至少获得前面的部分,因此在本例中,请登录 我该怎么做? const getLastPartURL=url=>{ const parts=url.split('/'); 常数长度=零件长度; 返回部分[长度-1]=''?部分[长

我正在尝试获取此url的最后一部分:

http://webserver/Foo/login/
我写的代码是:

var location = window.location.href.split('/').pop();
将返回一个空字符串,因为
/
之后没有任何内容。 我需要至少获得前面的部分,因此在本例中,请登录

我该怎么做?

const getLastPartURL=url=>{
const parts=url.split('/');
常数长度=零件长度;
返回部分[长度-1]=''?部分[长度-2]:部分[长度-1]
}
console.log(getLastPartURL('http://webserver/Foo/login/'))
console.log(getLastPartURL('http://webserver/Foo/login'))
console.log(getLastPartURL('http://webserver/Foo/'))

console.log(getLastPartURL('http://webserver/Foo“)
使用
String.replace()
(用于替换字符串末尾可能出现的
/
)和
String.split()
函数的解决方案:

var url='1〕http://webserver/Foo/login/',
最后一节=url.replace(/\/+$/,'').split('/').pop();

控制台日志(最后一节)这应该可以做到:

location.pathname.match(/[^/]*(?=\/*$)/)[0]
说明:

  • 是一个字符串,包含首字母
    “/”
    ,后跟
  • 返回匹配项的数组
  • [^/]*
    匹配,并且
  • (?=\/*$)
    与斜杠零次或多次匹配
  • 始终只有一个匹配项,因此我们使用
    [0]
    检索它
示例:

对于所有这些URL,输出为
login

  • http://webserver/Foo/login
  • http://webserver/Foo/login/
  • http://webserver/Foo/login//

尝试
.pop().pop()
,但理想情况下不要在结尾处使用
/
解析字符串。^没有意识到Magnitude是堆栈溢出。@Jack你不能链接
.pop()
,第一个返回字符串。这将在我上次编辑(
/\/+$/
)时适用于格式错误的url,例如login////AgainMe-是,它会起作用的。试试看,你会发现这是一个很好的解决方案