replace里的第一个参数是正则表达式
只要匹配就会被替换至于那些符号的意思楼主可查一下正则表达式

解决方案 »

  1.   

      
    \/这个表示的是/
    \/?表示的是可以有/也可以没有
    [^>]表示非>的字符
    [^>]*表示可有可无非>的字符
    <\/?SPAN[^>]*>表示<SPAN>或</SPAN>
    (/ <\/?SPAN[^>]*>/gi,表示匹配不区分大小写的<SPAN>或</SPAN>
    (\w[^>]*)表示字母数字和下划线和非>的字符,可至少出现0次
    =([^    ¦>]*)表示非空和非>的字符
    ([^>]*)表示非>的字符,可至少出现0次
    <$1$3这里的$1相当于(\w[^>]*)字母数字和下划线和非>的字符,$3相当于([^>]*)
      

  2.   

    /<\/?SPAN[^>]*>/gi  
    其中位于“/”定界符之间的部分就是将要在目标对象中进行匹配的模式,参数“g”表示全文检索,“i”表示忽略大小写。
    “<\/?SPAN[^>]*>”才是要匹配的表达式。我们把字符串一个个分开解释:
    <表示字符串中以“<”开始的,紧接着是一个“/”。由于“/”是正则表达式里头的特殊符号,所以要用上转义符“\”,所以“\/”其实就是表示“/”。“?”表示字符规定其前导对象必须在目标对象中连续出现零次或一次,即出现零次或一次的“/”。“SPAN”就是表示“SPAN”。“[^>]”表示匹配^后面跟着的字符“>”除外的任意字符,“*”表示字符规定其前导字符必须在目标对象中出现零次或连续多次。
      

  3.   

    /<(\w[^>]*)  class=([^ ¦>]*)([^>]*)/
    \w:用于匹配字母,数字或下划线字符;“[^>]*”还是表示匹配字符“>”除外的任意字符出现零次或连续多次。“class=”就是用来匹配“class=”。而后的“()” 把字符串组合在一起,“()”符号包含的内容即“[^ ¦>]*”必须同时出现在目标对象中。“¦”表示“或”,或者。“[^ ¦>]*”表示非空格或者“>”在目标对象中出现零次或连续多次。“([^>]*)”则表示非“>”在目标对象中出现零次或连续多次。
    范例:
    var newVarString="<span class='sp1'>testReplace</span>";
    newVarString.replace(/<\/?SPAN[^>]*>/gi, "")的结果是:testReplace。
    newVarString.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3")的结果是:"<span>testReplace</span>
    这里$1$3,$1即是正则表达式里匹配“(\w[^>]*)”的元素,$3即是正则表达式里匹配“([^>]*)”的元素。