用于检查字母数字字符串的PHP正则表达式

用于检查字母数字字符串的PHP正则表达式,php,regex,Php,Regex,我使用正则表达式编写了PHP代码。我将以下数组作为输入字符串: $alphmericGoodCases = array('ASDFGH123', 'ASFGH1234', '1234567', '555 abcdf', '#$&%^@-'); foreach($alphmericGoodCases as $alphmericGoodCase){ if(preg_match('/^[A-Za-z0-9\s_-]+$/', $alphmericGoodCase)) { echo "tr

我使用
正则表达式编写了
PHP
代码。我将以下数组作为输入字符串:

$alphmericGoodCases = array('ASDFGH123', 'ASFGH1234', '1234567', '555 abcdf', '#$&%^@-');
foreach($alphmericGoodCases as $alphmericGoodCase){
if(preg_match('/^[A-Za-z0-9\s_-]+$/', $alphmericGoodCase)) {
   echo "true";
}
 else 
   echo "false";
}

输出类似于
true
true
true
true
false。
但是,我希望最后一个也是
true。
缺少
正则表达式的地方?

如果需要特殊字符,请使用以下较短的版本:

$alphmericGoodCases = array('ASDFGH123', 'ASFGH1234', '1234567', '555 

abcdf', '#$&%^@-');
foreach($alphmericGoodCases as $alphmericGoodCase)
{

   if(preg_match('/^.+$/', $alphmericGoodCase)) {
      echo "true";
   }
   else 
      echo "false";
}

这基本上是说“匹配任何字符串,除了换行符”

最后一个字符串不是字母数字。为什么您希望它是
真的
?曾经如果希望这些字符有效,请将它们作为有效字符添加到正则表达式中。我必须检查特殊字符。最后一个字符实际上是“非字母数字”的良好用例
Ok
。我将丢弃它。