阻止特殊符号和空格的PHP正则表达式

阻止特殊符号和空格的PHP正则表达式,php,Php,我希望它将标志阻止为!@%^&*.+不允许有任何空间。 我试过了 preg_match('/[^A-Za-z0-9\-]/', $usernam) 像这样 if(!preg_match('/^[a-zA-Z0-9]+$/', $username)) { echo 'invalid username'; } 编辑:我的错,忘记了最小1+符号为什么要阻止特殊字符?这个问题似乎离题了,因为它不是个人正则表达式开发服务。[a-zA-Z0-9-]允许连字符。还有/[a-z0-9-]/i和其他字母数

我希望它将标志阻止为!@%^&*.+不允许有任何空间。 我试过了

preg_match('/[^A-Za-z0-9\-]/', $usernam)
像这样

if(!preg_match('/^[a-zA-Z0-9]+$/', $username)) {
  echo 'invalid username';
}

编辑:我的错,忘记了最小1+符号

为什么要阻止特殊字符?这个问题似乎离题了,因为它不是个人正则表达式开发服务。[a-zA-Z0-9-]允许连字符。还有/[a-z0-9-]/i和其他字母数字的快捷方式。他说“符号为”,这让人不清楚他到底允许什么和不允许什么。如果是在课程开始或结束时,他可以在regex或simpy中添加