字符串找出所有 : 开头是:src="file:///   结尾是:  jpg||gif||png||bmp 的匹配项
比如: 字符串 var str='aa bb  src="file:///c:/1.jpg" ccccddddd aa bb  src="file:///c:/2.gif" ccccddddd'var re=/src="file:///.........[.jpg][.gif][.png][.bmp]";//正则我不会写...请帮忙,var r=re.test(str)....
if(r){
      
    
    r.replace(然后利用正则 改成 <a href="图片名"><img src="file:///图片名" border=0></a>
}请帮忙,不胜感激,并祝2011新年快乐!!!!!!!!!

解决方案 »

  1.   

    图片名我没理解。你先看着 然后提要求
    var str='aa bb src="file:///c:/1.jpg" ccccddddd aa bb src="file:///c:/2.gif" ccccddddd'var re=/src="file:\/\/\/([^.]+)\.(?:jpg|gif|png|bmp)"/ig;
    str = str.replace(re,function(a,b) {
    return '<a href="'+ b + '"><img '+ a +' border=0></a>';
    });
    alert(str);
      

  2.   

    图片名字就是:找出来的 src="file:///c:/1.jpg" 里面的: 1.jpg,就是去掉file:///c:/ 后的图片名字
    然后直接改成<a href=1.jpg><img src=1.jpg></a>目的是这样的:
       1.通过正则在str中找到所有src=file:////.....jpg字符串;
       2.再通过正则,把找到的字符串中 src=file:///去掉,只剩下  ..jpg文件名;
       3.然后我就可以把这个文件名自己处理成;<a href=.jpg><img src=.jog></a>
      

  3.   

    运行下看看
    var str='aa bb src="file:///c:/1.jpg" ccccddddd aa bb src="file:///c:/2.gif" ccccddddd'

    var re=/src="file:\/\/\/[^\/]+\/([^\.]+\.(?:jpg|gif|png|bmp))"/ig;
    str = str.replace(re,function(a,b) {
        return '<a href="'+ b + '"><img src="'+ b +'" border=0></a>';
    });
    alert(str);
      

  4.   

    能解释一下 a,和b吗, function中吗没有看到 处理a呀,b为什么就直接成了1.jpg呢?
      

  5.   

    为什么,字符串这样,正则就不管用了呢?var str='style="margin-top: 2.25pt; z-index: 1; left: 0px; margin-left: 0px; width: 90pt; position: absolute; height: 90pt; text-align: left; mso-position-horizontal: absolute; mso-position-horizontal-relative: text; mso-position-vertical: absolute; mso-position-vertical-relative: text"><v:imagedata o:title="200811189321999" src="file:///C:\DOCUME~1\ddd\LOCALS~1\Temp\msohtml1\04\clip_image002.jpg"></v:imagedata><w:wrap type="square"></w:wrap></v:shape><font size="3"><span style="font-family: 宋体; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">开始测试</span><span lang="EN-US"><font face="Times New Roman">word</font></span';使用正则找到  src="file:///C:\DOCUME~1\ddd\LOCALS~1\Temp\msohtml1\04\clip_image002.jpg">  结果找不到?
      

  6.   

    如果还不行 那么就把实际的情况发出来 然后具体要求。因为正则不是普适的。需要视情况而定
    var str='style="margin-top: 2.25pt; z-index: 1; left: 0px; margin-left: 0px; width: 90pt; position: absolute; height: 90pt; text-align: left; mso-position-horizontal: absolute; mso-position-horizontal-relative: text; mso-position-vertical: absolute; mso-position-vertical-relative: text"><v:imagedata o:title="200811189321999" src="file:///C:\DOCUME~1\\ddd\\LOCALS~1\\Temp\\msohtml1\\04\\clip_image002.jpg"></v:imagedata><w:wrap type="square"></w:wrap></v:shape><font size="3"><span style="font-family: 宋体; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">开始测试</span><span lang="EN-US"><font face="Times New Roman">word</font></span';
      var re=/src="file:\/\/\/.*?[\/\\]([a-z0-9_]+\.(?:jpg|gif|png|bmp))"/ig;
        str = str.replace(re,function(a,b) {
            return '<a href="'+ b + '"><img src="'+ b +'" border=0></a>';
        });
        alert(str);
      

  7.   


    实际就是这样的:
    从:var str='style="margin-top: 2.25pt; z-index: 1; left: 0px; margin-left: 0px; width: 90pt; position: absolute; height: 90pt; text-align: left; mso-position-horizontal: absolute; mso-position-horizontal-relative: text; mso-position-vertical: absolute; mso-position-vertical-relative: text"><v:imagedata o:title="200811189321999" src="file:///C:\DOCUME~1\ddd\LOCALS~1\Temp\msohtml1\04\clip_image002.jpg"></v:imagedata><w:wrap type="square"></w:wrap></v:shape><font size="3"><span style="font-family: 宋体; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">开始测试</span><span lang="EN-US"><font face="Times New Roman">word</font></span';中正则找到 src="file:///C:\DOCUME~1\ddd\LOCALS~1\Temp\msohtml1\04\clip_image002.jpg">