Php 预匹配用户验证

Php 预匹配用户验证,php,regex,Php,Regex,我正在尝试为用户验证制定一个预匹配规则 只允许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 fals

我正在尝试为用户验证制定一个预匹配规则

只允许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;
    }
有人知道这个的正则表达式吗?
谢谢:)

使用类,但请确保转义连字符或将其作为最后一个字符,否则它表示一个范围。使用
^
$
要求所有输入字符与模式匹配:

$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'));