我有一个网络表单,我希望用户在填写表单时不要在textarea中包含任何中文单引号/双引号,我该怎么办?
答案 0 :(得分:0)
为防止用户输入表单元素,您必须使用客户端脚本(即JavaScript)。
简单的方法是处理onkeypress
事件:
<textarea onkeypress="return CheckKey(event);"></textarea>
有这样的代码:
var arrForbiddenCodes = [97, 98, 99];
function CheckKey(event) {
var keyCode = event.keyCode || event.which;
for (var i = 0; i < arrForbiddenCodes.length; i++) {
if (arrForbiddenCodes[i] === keyCode)
return false;
}
return true;
}
这将根据键码阻止字符 - 在上面的代码中,小写的“a”,“b”和“c”字母将被阻止。要查找特定字符的关键代码,请将alert(keyCode);
添加到函数中,然后在textarea中键入该字符。
答案 1 :(得分:0)
你可以添加一些使用正则表达式的javascript来限制条目为alpha或alpha和numeric(或任何你想要的其他字符)。
<script language="javascript">
function blockChar()
{
var str = document.getElementById('txt').value;
if(str.match(^[a-zA-Z0-9]*$)) {
return true;
}
else {
return false;
}
}
</script>
答案 2 :(得分:0)
您可以获取表单内容并根据不接受的字符列表进行检查:
$formContent = $_GET["formcontent"];
$badCharacters = array("'", "‘", "“");
$cleanResult = str_replace($badCharacters, "", $formContent);
坏字符数组有你不喜欢的引号(如果它们是你需要转义它们的标准引号),那么str_replace函数会遍历表单数据,用空字符串替换每一个。当然,你应该在此之前做适当的逃避和安全。