<script language="javascript">
var str="123<span>ddddd</span>666<span>fdafafa</span>444"
alert(str.replace(/<span>.*?<\/span>/ig,""));
</script>

解决方案 »

  1.   

    alert(str.replace(/<span>.+?<\/span>/gi,""));
      

  2.   

    果中间有这样的<span></span>的话就不能匹配
    str.replace(/<span>[\s\S]*?<\/span>/gi,"")
    应该算是相对完美的吧!
    匹配<span></span>中间的空格非空格0次或是多次
      

  3.   

    .代表除了换行符号以外的所有的值=[^\n];
    \s代表任何空白符=[\t\n\r\f\v]
    \S代表非任何空白符=[^\t\n\r\f\v]
      

  4.   

    感觉不好写
    偶不会,,,上面2位基本满足你要求<span>ds<span>bbb</span></span>   --正常的
    <span>ddd</span>12</span>         --错误的像这样的,试了,匹配不了
      

  5.   

    var s="1<span>ss<span>ss</span><span>ss</span><span>ss</span></span>2aaa<span>ss</span>ss"
    alert(s.replace(/<span>.*?(<span>.*?<\/span>)*?<\/span>/ig,""))
      

  6.   

    var s="1<span>ss<span>ss</span></span>ssss<span>"
    alert(s.replace(/(?:<span>.*?(?:<span>.*?<\/span>)*?<\/span>)|<\/?span>/ig,""))
      

  7.   

    <span>ddd</span>12</span>这个好像是个错误的标签吧!
    这个仁兄要的就是要除去<span></span>里面的所有代码!
    只要开头有个<span></span>
    他中间不管有什么东西都要删除!