一条正则能不能同时取出一个img标记的src和name?

madpc 2009-08-03 05:00:41
比如字符串如下

'<img alt="" border="0" name="g6-o44-1" onload="DrawImage" src="/bmp/foo.jpg" />'

取出一个img和src的值

关键在于: name和src还有别的属性位置不固定, 该如何写正则? 而且方法最好巧妙一些
...全文
508 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
madpc 2009-08-04
  • 打赏
  • 举报
回复
lxcnn 的很强大,学习了
-过客- 2009-08-04
  • 打赏
  • 举报
回复
...

<textarea id="result" rows="10" cols="100"></textarea> 
<script type="text/javascript">
var data = [' <img alt="" border="0" name="g6-o44-1" onload="DrawImage" src="/bmp/foo1.jpg" />', ' <img src="/bmp/foo2.jpg" alt="" border="0" name="g6-o44-2" onload="DrawImage" />'] ;
var reg = /<img\b(?=(?:(?!name=).)*name=(['"]?)([^'"\s>]+)\1)(?:(?!src=).)*src=(['"]?)([^'"\s>]+)\3[^>]*>/i;
for(var i=0;i<data.length;i++)
{
var s = data[i];
document.getElementById("result").value += "源字符串:" + s + "\n";
document.write("<br />");
if(reg.test(s))
{
document.getElementById("result").value += "name: " + RegExp.$2 + "\n";
document.getElementById("result").value += "src: " + RegExp.$4 + "\n";
}
}
</script>
-过客- 2009-08-04
  • 打赏
  • 举报
回复
try...

<textarea id="result" rows="10" cols="100"></textarea> 
<script type="text/javascript">
var data = [' <img alt="" border="0" name="g6-o44-1" onload="DrawImage" src="/bmp/foo1.jpg" />', ' <img

src="/bmp/foo2.jpg" alt="" border="0" name="g6-o44-2" onload="DrawImage" />'] ;
var reg = /<img\b(?=(?:(?!name=).)*name=(['"]?)([^'"\s>]+)\1)(?:(?!src=).)*src=(['"]?)([^'"\s>]+)\3[^>]*>/i;
for(var i=0;i<data.length;i++)
{
var s = data[i];
document.getElementById("result").value += "源字符串:" + s + "\n";
document.write("<br />");
if(reg.test(s))
{
document.getElementById("result").value += "name: " + RegExp.$2 + "\n";
document.getElementById("result").value += "src: " + RegExp.$4 + "\n";
}
}
</script>
madpc 2009-08-04
  • 打赏
  • 举报
回复
顶一下
浪尖赏花 2009-08-03
  • 打赏
  • 举报
回复
位置不定的话,一条正则好象做不到
renzaijiang 2009-08-03
  • 打赏
  • 举报
回复
括号分组啊
$1 $2

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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