Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过php限制用户输入_Php_Validation_Input_Special Characters - Fatal编程技术网

通过php限制用户输入

通过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请求全局变量查看它。在本例中,您

我有一个用户名文本框。它应该只接受3到10个字符,并且应该只接受(0,9)和(A,Z)值,或者可能是(-and), 没有别的了

如果用户输入$%^#之类的值,则应给出一个错误
我想用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值?