我正在尝试为用户验证制作 preg_match 规则
仅允许a-z - A-Z - 0-9 和字符_- =?!@:。, 没有空格
我已经尝试了很多组合,但似乎没有人工作
这就是我想要的:
if(preg_match('idk what to use here', 'Myusername@123?')) {
return true;
}
if(preg_match('idk what to use here', '$Hello')) {
return false;
}
if(preg_match('idk what to use here', 'Hello 123')) {
return false;
}
任何人都知道这个正则表达式? 谢谢:))
答案 0 :(得分:0)
使用类,但请确保转义连字符或将其作为最后一个字符,否则它表示范围。使用^
和$
要求所有输入字符与模式匹配:
$regex = "/^[A-Za-z0-9_=?!@:.,-]*$/";
var_dump(preg_match($regex, 'Myusername@123?'));
var_dump(preg_match($regex, '$Hello'));
var_dump(preg_match($regex, 'Hello 123'));