我使用下面的java脚本来转义几个字符,如"<>()' /"用""。但它正在取代" - "同样。任何人都可以告诉我发生了什么。
<td colspan=1><input type="text" id="firstName" name="firstName" onchange="return escapeSpecialCharacters(this);"
value="<%=(clientInfo != null) ? escape(clientInfo.getFirstName()) : ""%>" size="30" maxlength="25"></td>
我的javascript如下
private String escapeSpecialCharacters(String value) {
value = value.replace("<","");
value = value.replace(">","");
value = value.replace("(","");
value = value.replace(")","");
value = value.replace("'","");
value = value.replace("/","");
return value;
}
public String escape(String value) {
return StringEscapeUtils.escapeHtml(value);
}
我尝试更换&#34; ISO-8859-1&#34;使用&#39; UTF-8&#39;但它对我不起作用..
答案 0 :(得分:0)
escapeSpecialCharacters
应该可以正常工作。即使它被编写为Java方法,相同的代码也应该在JavaScript中正常工作。例如,在下面的html中,当您更改文本值时,它会保留-
(连字符)并删除其他符号。
<html>
<head>
<script>
function escapeSpecialCharacters(obj) {
var value = obj.value;
value = value.replace("<","");
value = value.replace(">","");
value = value.replace("(","");
value = value.replace(")","");
value = value.replace("'","");
value = value.replace("/","");
obj.value = value;
}
</script>
</head>
<body>
<input type="text" id="firstName" name="firstName" onchange="return escapeSpecialCharacters(this);" size="30" maxlength="25">
</body>
</html>