一、過濾掉所有HTML標簽如下:
str.innerHTML.replace(/<.*?>/g,"")
二、過濾掉帶屬性的某一個標簽,如<span class='aa'></span>標簽:
var str = "<p>這里是測試過濾<span class='aa'>span標簽的哦</span></p>";
str.replace(/<span (.*?)>/gi,"");
str.replace(/<\/span>/gi,"");
三、過濾掉不帶屬性的某一個標簽,如<span></span>標簽:
var str = "<p>這里是測試過濾<span>span標簽的哦</span></p>"; str = str.replace(/<span>/gi,""); str = str.replace(/<\/span>/gi,"");
var str = "<p>這里是測試過濾<span>span標簽的哦</span></p>"; str.replace(/<span>/gi,"").replace(/<\/span>/gi,"");
四、過濾配對<span></span>標簽(不包含屬性),一起過濾掉
var str = "<p>這里是測試過濾<span>span標簽的哦</span></p>"; str.replace(/<span>|<\/span>/gi,"");
五、過濾配對<span ></span>標簽(包含屬性),一起過濾掉
var str = "<p>這里是測試過濾<span>span標簽的哦</span></p>";
str.replace(/<span\s*[^>]*>(.*?)<\/span>/ig,"$1");
var str = "<p>這里是測試過濾<span>span標簽的哦</span></p>"; str.replace(/<span.*?>|<\/span>/ig,"");
注意事項:
var str = "<p>這里是測試過濾<span>span標簽的哦</span></p>"; str.replace(/<span>/gi,""); str.replace(/<\/span>/gi,"");
結果如下:
從結果中可以看出<span>並沒有過濾掉,原因是原字符串不會改變
執行完第一句replace后,可以看到第二句str仍為原始值
參考:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace