<script>
s="<SPAN class='class1'>abc<SPAN class='class2'>def</SPAN></SPAN>";
ss=s.replace(/(<SPAN[^>]+>)|(<\/SPAN>)/gi,"");
alert(ss);
s="<SPAN class='class1'>abc</SPAN><SPAN class='class2'>def</SPAN>";
ss=s.replace(/(<SPAN[^>]+>)|(<\/SPAN>)/gi,"");
alert(ss);
</script>

解决方案 »

  1.   

    第一种方法
    <body><span id=demo></span>
    <script>
    str1="<SPAN class='class1'>abc<SPAN class='class2'>def</SPAN></SPAN>"
    str2="<SPAN class='class1'>abc</SPAN><SPAN class='class2'>def</SPAN>"
    demo.innerHTML=str1;
    alert(demo.innerText)
    demo.innerHTML=str2;
    alert(demo.innerText)
    </script>
      

  2.   

    第二种:
    <script>
    str1="<SPAN class='class1'>abc<SPAN class='class2'>def</SPAN></SPAN>"
    str2="<SPAN class='class1'>abc</SPAN><SPAN class='class2'>def</SPAN>"
    var reg=/(<(\/)?span[^>]*>)/gi
    alert(str1.replace(reg,""))
    alert(str2.replace(reg,""))
    </script>
      

  3.   

    我除了<span ..>外其它的html标签还想保留,所以秋水无恨的方法一不适合我。
    因为我做到这儿要实现一些效果才想起正则表达式并开始学它,所以了解不多,希望以后能再得到大家的指点。
    起初我用String.replace时是一个一个替换的,格式如下:
    while(str.search(pattern)>=0)
      str=str.replace(pattern,"");
    所以出现了问题,原来/g可以使replace全部替换,呵呵,很高兴!!!谢谢晓月和秋水无恨