内容:<TD style="BORDER-RIGHT: medium none" vAlign=top width=64 windowtext solid .5pt 5.4pt; .5pt; colspan='2' rowspan="3" mso-border-alt: BORDER-BOTTOM: BORDER-LEFT: BORDER-TOP: transparent; BACKGROUND-COLOR: HEIGHT: solid; 1pt 0cm; PADDING-TOP: WIDTH: PADDING-BOTTOM: PADDING-LEFT: PADDING-RIGHT: 1.95pt; mso-border-top-alt: 47.85pt; #ece9d8;>想通过正则表达式得到:<TD width="64" colspan="2" rowspan="3">谢谢啦!!!

解决方案 »

  1.   

    var s='<TD style="BORDER-RIGHT: medium none" vAlign=top width=64 windowtext solid .5pt 5.4pt; .5pt; colspan="2" rowspan="3" mso-border-alt: BORDER-BOTTOM:BORDER-LEFT: BORDER-TOP: transparent; BACKGROUND-COLOR: HEIGHT: solid; 1pt 0cm; PADDING-TOP: WIDTH: PADDING-BOTTOM: PADDING-LEFT: PADDING-RIGHT: 1.95pt; mso-border-top-alt: 47.85pt; #ece9d8;>';
    var str='<TD'
    s.replace(/(width|colspan|rowspan)=[^ ]+/gi,function($1){str+=' '+$1;});
    str+='>';
    alert(str)
      

  2.   


    这样处理对于只有这一个TD是起作用的,但实际中是有多个TD组成的一个TABLE就不行了。
      

  3.   

    <script type="text/javascript">
    var s='<table><tr><TD style="BORDER-RIGHT: medium none" vAlign=top width=64 windowtext solid .5pt 5.4pt; .5pt; colspan="2" rowspan="3" mso-border-alt: BORDER-BOTTOM:BORDER-LEFT: BORDER-TOP: transparent; BACKGROUND-COLOR: HEIGHT: solid; 1pt 0cm; PADDING-TOP: WIDTH: PADDING-BOTTOM: PADDING-LEFT: PADDING-RIGHT: 1.95pt; mso-border-top-alt: 47.85pt; #ece9d8;></td><TD style="BORDER-RIGHT: medium none" vAlign=top width=64 windowtext solid .5pt 5.4pt; .5pt; colspan="2" rowspan="3" mso-border-alt: BORDER-BOTTOM:BORDER-LEFT: BORDER-TOP: transparent; BACKGROUND-COLOR: HEIGHT: solid; 1pt 0cm; PADDING-TOP: WIDTH: PADDING-BOTTOM: PADDING-LEFT: PADDING-RIGHT: 1.95pt; mso-border-top-alt: 47.85pt; #ece9d8;></td><TD style="BORDER-RIGHT: medium none" vAlign=top width=64 windowtext solid .5pt 5.4pt; .5pt; colspan="2" rowspan="3" mso-border-alt: BORDER-BOTTOM:BORDER-LEFT: BORDER-TOP: transparent; BACKGROUND-COLOR: HEIGHT: solid; 1pt 0cm; PADDING-TOP: WIDTH: PADDING-BOTTOM: PADDING-LEFT: PADDING-RIGHT: 1.95pt; mso-border-top-alt: 47.85pt; #ece9d8;></td></tr></table><table><tr><TD style="BORDER-RIGHT: medium none" vAlign=top width=64 windowtext solid .5pt 5.4pt; .5pt; colspan="2" rowspan="3" mso-border-alt: BORDER-BOTTOM:BORDER-LEFT: BORDER-TOP: transparent; BACKGROUND-COLOR: HEIGHT: solid; 1pt 0cm; PADDING-TOP: WIDTH: PADDING-BOTTOM: PADDING-LEFT: PADDING-RIGHT: 1.95pt; mso-border-top-alt: 47.85pt; #ece9d8;></td><TD style="BORDER-RIGHT: medium none" vAlign=top width=64 windowtext solid .5pt 5.4pt; .5pt; colspan="2" rowspan="3" mso-border-alt: BORDER-BOTTOM:BORDER-LEFT: BORDER-TOP: transparent; BACKGROUND-COLOR: HEIGHT: solid; 1pt 0cm; PADDING-TOP: WIDTH: PADDING-BOTTOM: PADDING-LEFT: PADDING-RIGHT: 1.95pt; mso-border-top-alt: 47.85pt; #ece9d8;></td><TD style="BORDER-RIGHT: medium none" vAlign=top width=64 windowtext solid .5pt 5.4pt; .5pt; colspan="2" rowspan="3" mso-border-alt: BORDER-BOTTOM:BORDER-LEFT: BORDER-TOP: transparent; BACKGROUND-COLOR: HEIGHT: solid; 1pt 0cm; PADDING-TOP: WIDTH: PADDING-BOTTOM: PADDING-LEFT: PADDING-RIGHT: 1.95pt; mso-border-top-alt: 47.85pt; #ece9d8;></td></tr></table>';
     var result = ""
     var m = s.match(/<td[^>]+>/ig); for(var i = 0 ; i < m.length ; i ++)
     {
         var str='<TD' 
         m[i].replace(/(width|colspan|rowspan)=[^ ]+/gi,function($1){str+=' '+$1;}); 
         str+='>';
         result+=str+"\n";
     }alert(result)
      

  4.   


    分解处理的方法是可以,但是还需要保留tabel和tr。其实所要实现的就是对一个table中的td中的一些没用的样式进行过滤,但是样式太多没法控制,只要必须的几种,想通过正则来直接过滤。
      

  5.   

    <script language=javascript>
    var s='<TD style="BORDER-RIGHT: medium none" vAlign=top width=64 windowtext solid .5pt 5.4pt; .5pt; colspan=2 rowspan="3" mso-border-alt: BORDER-BOTTOM: BORDER-LEFT: BORDER-TOP: transparent; BACKGROUND-COLOR: HEIGHT: solid; 1pt 0cm; PADDING-TOP: WIDTH: PADDING-BOTTOM: PADDING-LEFT: PADDING-RIGHT: 1.95pt; mso-border-top-alt: 47.85pt; #ece9d8;>';html = s.replace(/<(\w[^>]*) width=[^ ]+/gi, "<$1");alert(s + "\n"+ html);
    </script>这样是可以去掉指定的样式的,但是保留指定的样式试了很长时间也不行。
      

  6.   

    var s='<table><tr><TD style="BORDER-RIGHT: medium none" vAlign=top width=64 windowtext solid .5pt 5.4pt; .5pt; colspan="2" rowspan="3" mso-border-alt: BORDER-BOTTOM:BORDER-LEFT: BORDER-TOP: transparent; BACKGROUND-COLOR: HEIGHT: solid; 1pt 0cm; PADDING-TOP: WIDTH: PADDING-BOTTOM: PADDING-LEFT: PADDING-RIGHT: 1.95pt; mso-border-top-alt: 47.85pt; #ece9d8;></td><TD style="BORDER-RIGHT: medium none" vAlign=top width=64 windowtext solid .5pt 5.4pt; .5pt; colspan="2" rowspan="3" mso-border-alt: BORDER-BOTTOM:BORDER-LEFT: BORDER-TOP: transparent; BACKGROUND-COLOR: HEIGHT: solid; 1pt 0cm; PADDING-TOP: WIDTH: PADDING-BOTTOM: PADDING-LEFT: PADDING-RIGHT: 1.95pt; mso-border-top-alt: 47.85pt; #ece9d8;></td><TD style="BORDER-RIGHT: medium none" vAlign=top width=64 windowtext solid .5pt 5.4pt; .5pt; colspan="2" rowspan="3" mso-border-alt: BORDER-BOTTOM:BORDER-LEFT: BORDER-TOP: transparent; BACKGROUND-COLOR: HEIGHT: solid; 1pt 0cm; PADDING-TOP: WIDTH: PADDING-BOTTOM: PADDING-LEFT: PADDING-RIGHT: 1.95pt; mso-border-top-alt: 47.85pt; #ece9d8;></td></tr></table><table><tr><TD style="BORDER-RIGHT: medium none" vAlign=top width=64 windowtext solid .5pt 5.4pt; .5pt; colspan="2" rowspan="3" mso-border-alt: BORDER-BOTTOM:BORDER-LEFT: BORDER-TOP: transparent; BACKGROUND-COLOR: HEIGHT: solid; 1pt 0cm; PADDING-TOP: WIDTH: PADDING-BOTTOM: PADDING-LEFT: PADDING-RIGHT: 1.95pt; mso-border-top-alt: 47.85pt; #ece9d8;></td><TD style="BORDER-RIGHT: medium none" vAlign=top width=64 windowtext solid .5pt 5.4pt; .5pt; colspan="2" rowspan="3" mso-border-alt: BORDER-BOTTOM:BORDER-LEFT: BORDER-TOP: transparent; BACKGROUND-COLOR: HEIGHT: solid; 1pt 0cm; PADDING-TOP: WIDTH: PADDING-BOTTOM: PADDING-LEFT: PADDING-RIGHT: 1.95pt; mso-border-top-alt: 47.85pt; #ece9d8;></td><TD style="BORDER-RIGHT: medium none" vAlign=top width=64 windowtext solid .5pt 5.4pt; .5pt; colspan="2" rowspan="3" mso-border-alt: BORDER-BOTTOM:BORDER-LEFT: BORDER-TOP: transparent; BACKGROUND-COLOR: HEIGHT: solid; 1pt 0cm; PADDING-TOP: WIDTH: PADDING-BOTTOM: PADDING-LEFT: PADDING-RIGHT: 1.95pt; mso-border-top-alt: 47.85pt; #ece9d8;></td></tr></table>';
    var regex = /(width|colspan|rowspan)=[^ ]+/gi
    var regex1 = /(\][^\<\>]+?\[)|(\].+?(?=\>))|(\s(?=\w).+?\[)/g
    s = s.replace(regex,function(word)
    {
        return "["+word+"]"; 
    }
    )
    var result = s.replace(regex1," ")
    alert(result);