【问题标题】:Get content between second last and last slash获取倒数第二个和最后一个斜杠之间的内容
【发布时间】:2016-10-20 07:49:27
【问题描述】:

我有一个类似下面的网址

http://localhost:8000/test/

使用纯 javascript/jQuery 从中获取 test 的最简洁方法是什么?

【问题讨论】:

标签: javascript jquery


【解决方案1】:

您引用的 URL 部分称为路径,在 Javascript 中,可以通过读取 location.pathname 属性的内容来访问。

然后您可以使用正则表达式仅访问最终目录名称(在最后两个斜杠之间)。

【讨论】:

  • 虽然本身不​​会返回预期结果。答案不完整
【解决方案2】:

您可以使用split() 方法轻松完成。

var str = 'http://localhost:8000/test/';
var arr = str.split('/'); 

console.log(arr[arr.length-2])

【讨论】:

  • 你确定最后一个斜线是强制性的吗?因为http://localhost:8000/test 是完全有效的 URL AFAIK。我认为这对于处理所有可能的情况会更准确:jsfiddle.net/jxu945y9
  • 好的。但是OP要求倒数第二个和最后一个斜杠之间的内容。 @A.Wolff
  • @Azim Ya 然后你回答问题,但不确定I have a url like the following 的 OP 到底是什么意思。它是一个字符串吗?当前页面位置?元素href还是src?还是什么?
  • 嗯。 OP什么也没说。 @A.Wolff
【解决方案3】:

你们不喜欢正则表达式吗?我认为它更简单。

s = 'http://localhost:8000/test/';
var content = s.match(/\/([^/]+)\/[^/]*$/)[1];

【讨论】:

    【解决方案4】:

    JS split() 函数与 location.pathname 一起变魔​​术。

    var str = location.pathname.split('/'); 
    
    var requiredString = str[str.length -2];
    

    requiredString 将包含所需的字符串,您可以通过console.log(requiredString) 控制台记录它或在程序的其他任何地方使用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-11
      • 2017-06-24
      • 2022-11-13
      • 1970-01-01
      • 2012-10-27
      • 2011-11-07
      相关资源
      最近更新 更多