求js取图片链接正则(详情见内)

Wicrosofter 2011-09-08 10:15:14
自己写不出来,求各位大神赐教

1. 只需要src里的内容,src后面紧跟的可能是单/双引号/空格
2. src如果包含qq或者sina则跳过

如下面案例,返回的应该是
http://aaa/1.gif
http://aaa/2.gif
http://bbb/1.gif
http://ccc/1.gif


<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<script type="text/javascript">
function testImages() {
var html = document.getElementById("t").innerText;

var reg = /<img\b[^>]*?src=(['\"]?)(?:[^'\"\s>]+)[^>]*>/gi;
var array = html.match(reg);

for (var i = 0; i < array.length; i++) {
alert(array[i]);
}
}
</script>

</head>
<body>
<form id="form1" runat="server">
<div>
<textarea id="t" cols="100" rows="10">
<img src="http://aaa/1.gif" alt="" />
<img src = "http://aaa/2.gif" alt="" />
<img src='http://bbb/1.gif' alt="" />
<img src=http://ccc/1.gif alt="" />

<img src="http://xxxqqyyy/1.jpg" />
<img src="http://xxxsinayyy/1.jpg" />
</textarea>
<input id="Button1" type="button" value="button" onclick="return testImages()" />
</div>
</form>
</body>
</html>

...全文
218 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Wicrosofter 2011-09-08
  • 打赏
  • 举报
回复
非常感谢4楼,多问一下啊
1.
[^>]*? 后面这个?号什么意思,是表示非贪婪么?如果是,这里为什么需要非贪婪?
2.
\1 是否就是反向引用前面的单双引号?
同样捕获(['""]?)是否就是为了后面的\1
3.
下面这句
((?:(?!qq|sina)[^'""\s])*)
就是如果右环视出现了qq或者sina,则不捕获,对么?
huangwenquan123 2011-09-08
  • 打赏
  • 举报
回复

/*
输出
http://aaa/1.gif
http://aaa/2.gif
http://bbb/1.gif
http://ccc/1.gif
*/
huangwenquan123 2011-09-08
  • 打赏
  • 举报
回复
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<script type="text/javascript">
function testImages() {
var html = document.getElementById("t").innerText;
var reg = /<img[^>]*?src\s*=\s*(['""]?)((?:(?!qq|sina)[^'""\s])*)\1[^>]*?>/gi;
while(reg.exec(html))
document.write(RegExp.$2+"<br/>");
}
</script>

</head>
<body>
<form id="form1" runat="server">
<div>
<textarea id="t" cols="100" rows="10">
<img src="http://aaa/1.gif" alt="" />
<img src = "http://aaa/2.gif" alt="" />
<img src='http://bbb/1.gif' alt="" />
<img src=http://ccc/1.gif alt="" />

<img src="http://xxxqqyyy/1.jpg" />
<img src="http://xxxsinayyy/1.jpg" />
</textarea>
<input id="Button1" type="button" value="button" onclick="return testImages()" />
</div>
</form>
</body>
</html>

蝶恋花雨 2011-09-08
  • 打赏
  • 举报
回复
http://www.cnblogs.com/pboy2925/archive/2007/10/29/1105387.html(单引号,双引号,脚本,样式...)
蝶恋花雨 2011-09-08
  • 打赏
  • 举报
回复
a等着正则出现。
苦逼的程序员 2011-09-08
  • 打赏
  • 举报
回复
帮顶,坐等高手
Gemini Dean 2011-09-08
  • 打赏
  • 举报
回复
高手出现,楼主赶紧问!顶!
rczjp 2011-09-08
  • 打赏
  • 举报
回复
环视确实比较难,需要回帖本人来回答,帮顶

?去掉也可以吧,//ig 这个g参数就是全局匹配的作用了!
Wicrosofter 2011-09-08
  • 打赏
  • 举报
回复
多顶一下

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧