获取img SRC字符串在2项之间的部分



使用这里的示例

<img src="site.com/player_photos_big_2014/11247_thumb.jpg" class="articlepicture">
<img src="site.com/player_photos_big_2014/5666_thumb.jpg" class="articlepicture">
<img src="site.com/player_photos_big_2014/76893_thumb.jpg" class="articlepicture">

我想要得到&;11247&;,"5666";,"76893">

尝试这个,没有工作,图像拇指名称是不同的,可以是3到5个数字

var test= $('.articlepicture').attr('src')
test.match(/player_photos_big_2014/(.+?)_thumb.jpg)[1]

尝试使用split("/").at(-1)获得最后一个字符串(11247_thumb.jpg),然后使用replace("_thumb.jpg", "")获得数字作为字符串,最后;如果您希望它是整型,请使用parseInt()Number()

所有的组合看起来应该像这样:

let playerNum = parseInt($(".articlepicture").attr("src").split("/").at(-1).replace("_thumb.jpg", ""))
console.log(playerNum)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<img src="site.com/player_photos_big_2014/11247_thumb.jpg" class="articlepicture">

当然,这只会在文件名一致的情况下工作!

Regexp/(d+)匹配/123456部分和(d+)部分提取数字部分

const result = [];
document.querySelectorAll('img.articlepicture').forEach(img => {
const n = (img.getAttribute('src').match(//(d+).*.jpg$/) || ['',''])[1];
result.push(n);
});
console.log(result);
<img src="site.com/player_photos_big_2014/11247_thumb.jpg" class="articlepicture">
<img src="site.com/player_photos_big_2014/5666_thumb.jpg" class="articlepicture">
<img src="site.com/player_photos_big_2014/76893_thumb.jpg" class="articlepicture">

你能试试吗?

test.match(/player_photos_big_2014/(.+?)_thumb.jpg)[1]

部分字符必须转义

同样,你可以在一些网站上测试你的正则表达式,它们真的很酷:https://regex101.com

最新更新