尝试使用正则表达式删除HTML标记是有问题的。你不知道脚本或属性值是什么。一种方法是将其作为div的innerHTML插入,删除任何脚本元素并返回innerHTML,例如function stripScripts(s) {
var div = document.createElement('div');
div.innerHTML = s;
var scripts = div.getElementsByTagName('script');
var i = scripts.length;
while (i--) {
scripts[i].parentNode.removeChild(scripts[i]);
}
return div.innerHTML;
}alert(
stripScripts('
请注意,目前,如果使用innerHTML属性插入,浏览器将不会执行脚本,并且可能永远不会特别是因为元素未添加到文档中。