怎样用js方法过滤html等代码,如@
如下,怎么用一个JS设置不显示@<html><head><title>无标题文档</title></head><body><divid=main"">文章内容@文章内容<...
如下,怎么用一个JS设置不显示@
<html>
<head>
<title>无标题文档</title>
</head>
<body>
<div id=main"">文章内容@文章内容</div>
</body>
</html>
要网页显示时,只显示替换后的文字 展开
<html>
<head>
<title>无标题文档</title>
</head>
<body>
<div id=main"">文章内容@文章内容</div>
</body>
</html>
要网页显示时,只显示替换后的文字 展开
1个回答
展开全部
关键点:
正则表达式,把要替换的内容用正则表达式表达出来,如字符串、数字、字母中文、标点符号等。
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>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询