怎样用js方法过滤html等代码,如@

如下,怎么用一个JS设置不显示@
<html>
<head>
<title>无标题文档</title>
</head>
<body>

<div id=main"">文章内容@文章内容</div>
</body>

</html>
要网页显示时,只显示替换后的文字

关键点:

    正则表达式,把要替换的内容用正则表达式表达出来,如字符串、数字、字母中文、标点符号等。

    replace() 方法,用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。



上代码:

<html>
<head>
    <title>无标题文档</title>
    <meta charset="UTF-8">
</head>
<body>
    <div id="main">文章内容@文章内容,文章内容@文章内容</div>
</body>

<script>
// 获取标签中文本
var doj_str = document.getElementById('main').innerText;
// 要替换的字符串,最后的g表示全局匹配,例如又多个@
var reg_str = /@/g;
// 替换为空
var new_str = doj_str.replace(reg_str, '');
// 输出新字符串
document.write(new_str);
</script>

</html>

追问

网页显示时,替换前后的文字都显示了,能不能只显示替换后的文字:
文章内容@文章内容,文章内容@文章内容
文章内容文章内容,文章内容文章内容

追答

只显示替换后的内容:

<html>
<head>
    <title>无标题文档</title>
    <meta charset="UTF-8">
</head>
<body>
    <div id="main">文章内容@文章内容,文章内容@文章内容</div>
</body>

<script>
// 获取标签中文本
var doj = document.getElementById('main');
var doj_str = doj.innerText;
// 要替换的字符串,最后的g表示全局匹配,例如又多个@
var reg_str = /@/g;
// 替换为空
var new_str = doj_str.replace(reg_str, '');
// 原位置输出新字符串
doj.innerText = new_str;
</script>

</html>

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答