js正则获取字符串中所有图片名称
获取如下格式<imgtitle="C:\Users\Administrator\Pictures\2014113171913.jpg"alt="C:\Users\Admi...
获取如下格式<img title="C:\Users\Administrator\Pictures\2014113171913.jpg" alt="C:\Users\Administrator\Pictures\2014113171913.jpg" src="/upload/image/14067766625992018.jpg"/>中的图片名称14067766625992018.jpg
展开
3个回答
展开全部
//你要的正则表达式
var test = /\/([^\/]*?\.jpg)/i;
var str = '<img title="C:\Users\Administrator\Pictures\2014113171913.jpg" alt="C:\Users\Administrator\Pictures\2014113171913.jpg" src="/upload/image/14067766625992018.jpg"/>';
var img = test.exec(str)[1];
alert(img);
更多追问追答
追问
我要取src中的图片名称 titl和alt属性中的不要 怎么改 数组下标不适合 我字符串里可能不止一个图片标签
追答
如果你的每个图片标签都差不多的话可以这样:
var str = '<img title="C:\Users\Administrator\Pictures\2014113171913.jpg" alt="C:\Users\Administrator\Pictures\2014113171913.jpg" src="/upload/image/14067766625992018.Jpg"/><img title="C:\Users\Administrator\Pictures\2014113171913.jpg" alt="C:\Users\Administrator\Pictures\2014113171913.jpg" src="/upload/image/14067766625992018.Jpg"/><img title="C:\Users\Administrator\Pictures\2014113171913.jpg" alt="C:\Users\Administrator\Pictures\2014113171913.jpg" src="/upload/image/14067766625992018.Jpg"/>';
var test = /\/([^\/]*?\.jpg)"\/>/gi;
var result = [];
var img ;
while(img = test.exec(str)){
result .push(img[1]);//这里的下标是匹配结果,跟你说的下标不是一回事
}
展开全部
var imags = document.getElementsByTagName('img')
srcs = []
for(i = 0, length = imags.length; i < length; i++){
if(!imags[i]) continue
var src = imags[i].getAttribute('src')
if(src){
console.log(src)
src = src.split('/')
srcs.push(src[src.length - 1])
}
}
console.log(srcs)
随便在哪个网站打开F12,贴到控制台执行就可看到结果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不用正则啊~用JQ写的话是这样
var name=$("img").attr("src");
name=name.substring(14);
alert(name);
var name=$("img").attr("src");
name=name.substring(14);
alert(name);
追问
这个不行,写的太死 图片名称长度变了就不行了 且 我获取的是一个图片名称的数组 不止一张图片的 而且 我不用JQ,
追答
图片名称变了也没关系!只要你的路径不变就行了~
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询