好的,所以我希望用户能够输入 A-Z 中的每个字符和 0-9 中的每个数字,但我不希望他们输入“特殊字符”。
代码:
if (preg_match("/^[a-zA-Z0-9]$/", $user_name)) {
#Stuff
}
它如何检查所有给定的字符,然后检查它们是否匹配?我已经尝试过 preg_match_all()
,但老实说我并没有真正理解其中的大部分内容。
就像用户输入“FaiL65Mal”一样,我希望它允许并继续。但如果他们输入“Fail{]^7(,,”,我希望它显示错误。
最佳答案
你只需要在你的正则表达式中有一个量词:
零个或多个字符*
:
/^[a-zA-Z0-9]*$/
一个或多个字符+
:
/^[a-zA-Z0-9]+$/
你的正则表达式只会匹配一个字符串,其中只有一个字符是字母或数字。对于零个或多个或一个或多个,您需要上述选项之一,具体取决于您是要允许还是拒绝空字符串。
关于PHP-preg_match(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9917120/