通过php限制用户输入

时间:2012-11-29 09:46:14

标签: php validation input special-characters

我有一个用户名文本框。它应该只接受3到10个字符,它应该只接受(0,9)和(A,Z)值或者( - 和_), 没有更多

如果用户输入的值如$%^#那么应该给出错误 我想用PHP而不是Jquery来做这件事。任何人都可以帮我这个吗?

我知道我可以使用

<input name="1" type="text" value="1" maxlength="10" />

但它不会给用户带来错误,只会过滤输入值。

谢谢。

2 个答案:

答案 0 :(得分:2)

正则表达式可以正常工作

if (preg_match("%^[A-Za-z0-9-_]{3,10}$%", $_POST["1"])) {
    // OK
} else {
    // ERROR
}

答案 1 :(得分:0)

将值提交到PHP脚本后,您可以通过$_REQUEST全局变量查看它。在这种情况下,您可以参考$_REQUEST["1"]。要确保其包含的值具有一定的大小,请使用strlen()函数。要确保该值仅包含特定字符,您可以使用preg_match_all()和适当的正则表达式,如下所示:

[A-Za-z0-9]