(十万火急)关于过滤HTML字符的问题

sysadm 2004-04-22 05:35:06
我想做一个过滤文本框中的HTML字符的函数,例如:在一个文本框中输入"><'这种字符的时候将其转化为HMTL中的符号如:\为"&quto;"返回的时候再恢复原来的字符。
或者在servlet端做,请大家帮忙,可以再加分!
...全文
101 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
colee 2004-04-22
  • 打赏
  • 举报
回复
<input type="text" onKeyDown="javascript:if(this.value.replace('><','')!=this.value) this.value.replace('><','><')">
colee 2004-04-22
  • 打赏
  • 举报
回复
<input type="text" onKeyDown="javascript:if(this.value.replace('<','')!=this.value) this.value.replace('><','><')">
wanghr100 2004-04-22
  • 打赏
  • 举报
回复
你可以先在客户端对其内容进行轮换:
<script language=javascript>
function coder(str)
{
var s = "";
if (str.length == 0) return "";
s = str.replace(/&/g, ">");
s = s.replace(/</g, "<");
s = s.replace(/>/g, ">");
s = s.replace(/ /g, " ");
s = s.replace(/\'/g, "'");
s = s.replace(/\"/g, """);
s = s.replace(/\n/g, "<br>");
return s;
}
</script>


或者提交到后台入库前进行转换:

<%
Function coder(str)
Dim i
If IsNull(str) Then : coder="" : Exit Function : End If
For i = 1 to Len(str)
Select case mid(str,i,1)
Case "<" : coder = coder &"<"
Case ">" : coder = coder &">"
Case "&" : coder = coder &"&"
Case chr(9) : coder = coder &"    "
Case chr(13) : coder = coder &"<br>"
Case chr(32) : coder = coder &" "
Case chr(34) : coder = coder &"""
Case chr(39) : coder = coder &"'"
Case Else : coder = coder & mid(str,i,1)
End Select
Next
End Function
%>
bflovesnow 2004-04-22
  • 打赏
  • 举报
回复
PHP也可以在server端转:htmlspecialchars
bflovesnow 2004-04-22
  • 打赏
  • 举报
回复
asp可以在server端转:server.HTMLEncode(str)
LxcJie 2004-04-22
  • 打赏
  • 举报
回复
用struts标签比较简单些

<bean:write>提供了filter属性用来过滤html特殊字符
ice_berg16 2004-04-22
  • 打赏
  • 举报
回复
str.replace("<","<");
str.replace(">",">");
.......................

87,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧