<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
function getImg(){

var strHTML = document.getElementsByTagName("span").item(0).innerHTML;
    var strBodyHTML = "BodyHTML:" + document.body.innerHTML + "<br><br>";
var objImg = document.getElementsByTagName("img");
var lenImg = objImg.length;

//strHTML = strHTML + strBodyHTML;
//document.getElementsByTagName("span").item(0).innerHTML = strHTML;
for(var i=0;i<lenImg;i++){
//alert(strHTML);
document.getElementsByTagName("span").item(0).innerHTML += "img" + i + "   id:" + objImg.item(i).id + " Src:" + objImg.item(i).src + "   width:" + objImg.item(i).width + "   height:" + objImg.item(i).height + "<br>";
}

}//-->
</SCRIPT>
<BODY>
<input type="button" onclick=" getImg()" value="getImgInfo">
<img src="1.gif" id="1" width="100" height="100">
<img src="2.gif" id="2" width="200" height="200">
<img src="3.gif" id="3" width="150" height="150">
<img src="4.gif" id="4" width="20" height="20">
<img src="5.gif" id="5" >
<img src="6.gif" id="6" >
<img src="7.gif" id="7" >
<img src="8.gif" id="8" width="56" height="125">
<img src="9.gif" id="9" width="57" height="86">
<img src="10.gif" id="10" width="100" height="100">
<hr>
<span></span>
</BODY>
</HTML>

解决方案 »

  1.   

    楼上正解,用正则表达式分解<textarea name=contant cols=42 rows=30>的内容.
      

  2.   

    偏门的解法把多行文本框的内容,输出到一个子框架中中.然后用document.getElementsByTagName
      

  3.   

    参考一下这个吧。和你的要求差不多。如果有需要我效劳的话 发消息给我。
    http://community.csdn.net/Expert/topic/4145/4145163.xml?temp=.2192346
      

  4.   

    非常感激“我是谁”的指点,我试用那里面的方法,但这个正则表达式:re=/<img src="([^"]*)"/gim只能处理用双引号的src属性,有的没用双引号就找不出来:(。请高人指教!
      

  5.   

    我给你消息收到没?
    re1=/<img src="([^"]*)"/gim;这个是匹配双引号的,
    re2=/<img src='([^"]*)'/gim;这个是匹配双单号的,
    re3=/<img src=([^\s>"']*)[> ]/gim;这个是匹配无引号的,
    以上三个综合可以匹配出三种格式的“净”属性,即test.jpg,
    而你如果要带边界引号的属性(即"test.jpg"或'test.jpg'或test.jpg)的话,
    正则更简单re=/<img src=([^\s>]*)/gim;
      

  6.   

    re2=/<img src='([^"]*)'/gim;这个是匹配双单号的,
    不好意思,笔误,应为
    re2=/<img src='([^']*)'/gim;这个是匹配单引号的,
      

  7.   

    我试过了,如果src属性是紧接着<img 后面的话,用这几个正则表达式可以,可是有些时候,是其他属性在src之前,例如border=0等等,,,
    我对正则表达式实在懂得太少了,,,请再赐教!!!不胜感谢!!!
      

  8.   

    用无论你的src是用"",或是'',或是无引号,均可用正则re=/<img(?:\s+\w+=[^\s>]+)*\s+src=([^\s>]*)/gim匹配后的子匹配RegExp.$1得到类似"test.jpg" 'test1.jpg' 或test2.jpg这样的结果。再用str.replace(/["']/g,"") 替换就可去掉外面的引号。以下是一个完整示例。<textarea rows=8 cols=80 id=textarea1>
    <DIV><IMG border=0 
    src="test1.jpg" alt="ddd" sssd="dd"></IMG></DIV>
    <DIV><IMG   width=100 src='test2.jpg' alt="ddd" sssd="dd"></IMG></DIV>
    <div><img   src=images\test3.jpg alt="ddd" sssd="dd"></IMG></DIV>
    </textarea>
    <script language=javascript>
    <!--
    function getimgsrc(htmlstr){
    var re=/<img(?:\s+\w+=[^\s>]+)*\s+src=([^\s>]*)/gim;
       while (re.exec(htmlstr) != null) alert((RegExp.$1).replace(/["']/g,""));
      }</script>
    <input type=button onclick="getimgsrc(textarea1.value)" value="getimgsrc">