<script type="text/javascript">
String.prototype.noHTMLReplace = function () {
/*
第一个参数是要替换的内容
第二个参数是替换成的内容
第三个参数是设置替换多个和是否忽略大小写即:i(忽略大小写), g(替换多个)
第四个参数是是否替换标记包含的关键字 Boolean
*/
var a = arguments, i = 0
, html = /^<(?:img|br|hr)/i //特殊标记
, k = a[0].replace(/([/|///+/*/./(/)///[/]/?])/g, "//$1") //替换特殊字符
, r = new RegExp('(<(?:"[^"]*"|/'[^/']*/'|[^/'">]+)+>)|' + k, a[2]) //匹配所有标记
, f = function (input, b) {
if (a[3] && b && !html.test(b)) i += (b.indexOf("<//") == 0 ? -1 : 1); //设置层
return (i > 0 && input) || b || a[1];
};
return this.replace(r, f);
};
var str = '我们都是中国人,我家我们 <a href=我们都是中国人 target=_blank >我们都是中国人 </a >我们都有一个家 <img src= "http://ww.aa.bb " alt=我们都有一个家 / >我们中国中国我们';
alert(str.noHTMLReplace("我们", "咱们", "gi", true));
alert(str.noHTMLReplace("我们", "咱们", "gi"));
</script>