JS替换整个页面的文本

JavaScript04

JS替换整个页面的文本,第1张

思路:正则替换

举例:

<script type="text/javascript">

var s = "<span style='display:none'>This is test</span>"

s = s.replace(/<[^>].*?>/g,"")//这里全局替换非标签文本

alert(s)

</javascript>

简单的处理方法:

window.onload = function () {

    // title

    var t = document.getElementsByTagName('title')

    if (!!t) {

        t = t[0]

        t.innerHTML = t.innerHTML.replace(/好/g, '不好')

    }

    // content

    document.body.innerHTML = document.body.innerHTML.replace(/下雨/g, '下雪')

    document.body.innerHTML = document.body.innerHTML.replace(/专业/g, '职业')

    document.body.innerHTML = document.body.innerHTML.replace(/输入/g, '输出')

}

把这段保存到一个js文件,然后在你要替换的页面包含就可以了。要注意的是编码的问题,为了让不同编码的网页都能处理,这段js中的中文可以尝试使用 Unicode 编码。

<script>

var strs={

str:[{"oldstr":/900\d{7}/g,"newstr":"9000012345"}]

}

function replaceStr(){

var innerHtml=document.body.innerHTML.replace(/<script[^>]*>[\s\S]*?<\/script>/g,'')

for(var i=0i<strs.str.lengthi++){

innerHtml=innerHtml.replace(strs.str[i].oldstr,strs.str[i].newstr)

}

console.log(innerHtml)

document.body.innerHTML=innerHtml

}

window.onload=function (){

setTimeout(function(){

replaceStr()

},200)

}

</script>

用这段js代码