【问题标题】:Get substring from url using Jquery [duplicate]使用Jquery从url获取子字符串[重复]
【发布时间】:2016-02-25 07:15:17
【问题描述】:

我有以下图片src:

<img src="http://xyz.example.com/abc/def/ghi/someimagename.jpg">

如何使用 jquery 提取没有扩展名的图像名称,例如在上述情况下,这将是 someimagename?

【问题讨论】:

  • 我建议你使用这个库:link 它有你需要的东西。
  • "http://xyz.example.com/abc/def/ghi/someimagename.jpg".split('/').pop()
  • 您是如何设法忽略所有重复的建议的?字符串处理也不是 jQuery,只是普通的 JS。

标签: jquery regex


【解决方案1】:

您可以使用正则表达式/\/([^\/]+?)\.jpg"&gt;/并获取捕获组值

var str = '<img src="http://xyz.example.com/abc/def/ghi/someimagename.jpg">';
var res = str.match(/\/([^\/]+)\.jpg">/)[1];
document.write(res);

【讨论】:

  • 为什么将惰性量词(/\/([^\/]+?)\.jpg"&gt;/ 中的[^\/]+?)与否定字符类一起使用?结果与贪心的结果相同。
  • @stribizhev 谢谢 :)
【解决方案2】:

你也可以这样做。

var string = '<img src="http://xyz.example.com/abc/def/ghi/someimagename.jpg">';
string = string.split("ghi/")[1].split(".")[0];

编辑:

或者您可以执行以下操作,这对于任何类型的 url 都非常有用

var string = '<img src="http://xyz.example.com/abc/def/ghi/someimagename.jpg">';
function reverse(s){
    return s.split("").reverse().join("");
}

string = reverse(string).split(".")[1].split("/")[0];
string = reverse(string);

【讨论】:

  • 它没有jpg扩展名,请重新检查。关于网址你可能是对的
猜你喜欢
  • 2011-06-07
  • 1970-01-01
  • 2015-07-02
  • 2013-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多