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

希望用js正则过滤输入框中的js html css等字符,用<input type="button" onclick="">调用函数,应该怎么写呢?

<input type="text" id="theOne" value="">
<input type="button" onclick="NoHtml()" value="过滤html标签">
<script>
function NoHtml(){
var t=document.getElementById("theOne").value;
document.getElementById("theOne").value=t.replace(/<\/?[^>]*>/g,'');
}
</script>

追问

是否可以不要直接为空 貌似记得有个什么 & g t;& l t 可以替代?
(/]*>/g,'');-主要是这一坨分不清!不知道分别代表什么,可赐教否?
另外还有可否检索输入框中的 { } 这种花括号,直接过滤掉?

追答<input type="text" id="theOne" value="">
<input type="button" onclick="NoHtml()" value="过滤html标签">
<script>
function NoHtml(){
var t=document.getElementById("theOne").value;
t=t.replace(/({|})/g,''); //过滤{}
t=t.replace(/</g,'&lt;'); //置换符号<
t=t.replace(/>/g,'&gt;'); //置换符号>
// t=t.replace(/<\/?[^>]*>/g,''); //*<\/?[^>]*>可以匹配<script></style></body>等,并置空。而不是替换<和>两个符号
document.getElementById("theOne").value=t;
}
</script>

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-27
<input type="text" id="theOne" value="">
<input type="button" onclick="NoHtml()" value="过滤html标签">
<script>
function NoHtml(){
var t=document.getElementById("theOne").value;
t=t.replace(/({|})/g,''); //过滤{}
t=t.replace(/</g,'<'); //置换符号<
t=t.replace(/>/g,'>'); //置换符号>
// t=t.replace(/<\/?[^>]*>/g,''); //*<\/?[^>]*>可以匹配<script></style></body>等,并置空。而不是替换<和>两个符号
document.getElementById("theOne").value=t;
}
</script>