通过php限制用户输入
我有一个用户名文本框。它应该只接受3到10个字符,并且应该只接受(0,9)和(A,Z)值,或者可能是(-and), 没有别的了通过php限制用户输入,php,validation,input,special-characters,Php,Validation,Input,Special Characters,我有一个用户名文本框。它应该只接受3到10个字符,并且应该只接受(0,9)和(A,Z)值,或者可能是(-and), 没有别的了 如果用户输入$%^#之类的值,则应给出一个错误 我想用PHP而不是Jquery来实现这一点。有人能帮我吗 我知道我可以使用 <input name="1" type="text" value="1" maxlength="10" /> 但它不会给用户一个错误,只是过滤输入值 谢谢。当值提交到PHP脚本时,您可以通过$\u请求全局变量查看它。在本例中,您
如果用户输入$%^#之类的值,则应给出一个错误
我想用PHP而不是Jquery来实现这一点。有人能帮我吗 我知道我可以使用
<input name="1" type="text" value="1" maxlength="10" />
但它不会给用户一个错误,只是过滤输入值
谢谢。当值提交到PHP脚本时,您可以通过
$\u请求
全局变量查看它。在本例中,您将引用$\u请求[“1”]
。要确保它包含的值具有一定的大小,请使用strlen()
函数。要确保该值仅包含某些字符,可以使用preg\u match\u all()
和适当的正则表达式,如下所示:
[A-Za-z0-9]
正则表达式可以工作
if (preg_match("%^[A-Za-z0-9-_]{3,10}$%", $_POST["1"])) {
// OK
} else {
// ERROR
}
到目前为止,您尝试过哪些PHP解决方案?preg_match,但我不知道这段代码的规则,也不知道使用SnapGravy的gravylicious regex。正则表达式是您的朋友:),我自己只是在深入了解这一部分,它让生活变得更加简单。/^[\w-]{3,10}$/更简洁一些,请记住,这些值中不允许有空格,要同时允许使用空格,请使用/^[\w-]{3,10}$/@masiharastoyi将答案标记为已接受,如果它对您有帮助,masih:)/^[\w-]{3,10}$/和/^[\w-]{3,10}$/是相同的:/我可以问另一个问题吗?如何允许用户在Textarea中输入
而不输入其他html值?