我有一个用户名文本框。它应该只接受3到10个字符,它应该只接受(0,9)和(A,Z)值或者( - 和_),
没有更多
。
如果用户输入的值如$%^#那么应该给出错误 我想用PHP而不是Jquery来做这件事。任何人都可以帮我这个吗?
我知道我可以使用
<input name="1" type="text" value="1" maxlength="10" />
但它不会给用户带来错误,只会过滤输入值。
谢谢。
答案 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]