我有一个用户名文本框。它只能接受3到10个字符,它应该只接受(0,9)和(A,Z)值或者可能( - 和_), 不再更多
。限制用户输入由php
如果用户输入一个值,如$%^#它应该给出一个错误
我想用PHP来做到这一点,而不是Jquery。谁能帮我这个?
我知道我可以使用
<input name="1" type="text" value="1" maxlength="10" />
但它不给一个错误给用户,只是过滤输入值。
谢谢。
我有一个用户名文本框。它只能接受3到10个字符,它应该只接受(0,9)和(A,Z)值或者可能( - 和_), 不再更多
。限制用户输入由php
如果用户输入一个值,如$%^#它应该给出一个错误
我想用PHP来做到这一点,而不是Jquery。谁能帮我这个?
我知道我可以使用
<input name="1" type="text" value="1" maxlength="10" />
但它不给一个错误给用户,只是过滤输入值。
谢谢。
正则表达式可以工作
if (preg_match("%^[A-Za-z0-9-_]{3,10}$%", $_POST["1"])) {
// OK
} else {
// ERROR
}
魔兽世界很容易然后
谢谢 –
正则表达式是你的朋友:),我只是更深入到自己的这一部分,它使生活变得更加容易。 – Kodemon
/^ [\ w - ] {3,10} $ /要更简洁,请记住这些不会允许空格中的值,以允许空格以及使用/^[\ w - ] {3,10 } $/ –
将值提交给PHP脚本时,可以通过$_REQUEST
全局变量查看该值。在这种情况下,您可以参考$_REQUEST["1"]
。为确保它包含的值具有一定的大小,请使用strlen()
函数。为了确保该值只包含某些字符,你可以使用preg_match_all()
和适当的正则表达式如下所示:
[A-Za-z0-9]
或者用SnapGravy的gravylicious正则表达式做这一切。 – ScoPi
你试过到目前为止什么PHP的解决方案? – Oldskool
preg_match但我不知道这个代码的规则 –