我在PHP / HTML文件中有以下表格:
<form method="post">
Username<input type="text" size="12" maxlength="16" name="username"><br />
<input type="submit" name="submit" value="Sign Up!" />
</form>
我如何制作它以使它不允许像&/.,'"\|;:}]{[+=
这样的符号并且它不允许空格和某些单词?
谢谢!
答案 0 :(得分:3)
在PHP中使用preg_match();:/^[a-z0-9_-]{3,16}$/
只允许:
a-z
0-9
_
-
3到16个字符。
使用Javascript,您可以为在线编辑(在键入时)进行相同的操作。
答案 1 :(得分:1)
目前尚不清楚您是否希望在客户端或服务器端进行验证。
在客户端,您需要javascript为您进行验证,尝试google jquery验证。
在服务器端,您需要编写代码来验证提交的数据,一个选项是PHP内置清理和过滤 - http://net.tutsplus.com/tutorials/php/sanitize-and-validate-data-with-php-filters/
我认为你应该进行双方验证。这是一篇很好的文章 - http://www.php-mysql-tutorial.com/wikis/php-tutorial/form-validation-using-php.aspx
答案 2 :(得分:1)
您可以使用JavaScript来阻止客户端上的那些击键。但是,您必须转义字符并删除服务器上的任何特殊字符以防止被利用。