1

我有一个用户名文本框。它应该只接受 3 到 10 个字符,它应该只接受 (0, 9) 和 (A , Z) 值,或者可能是 (- 和 _),仅此而已

如果用户输入一个像 $%^# 这样的值,它应该会给出一个错误
,我想用 PHP 来做这个,而不是 Jquery。谁能帮我这个?

我知道我可以使用

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

但它不会给用户一个错误,只是过滤输入值。

谢谢你。

4

2 回答 2

2

正则表达式可以工作

if (preg_match("%^[A-Za-z0-9-_]{3,10}$%", $_POST["1"])) {
    // OK
} else {
    // ERROR
}
于 2012-11-29T09:52:23.057 回答
0

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

[A-Za-z0-9]
于 2012-11-29T09:51:59.993 回答