Php 我如何知道字符串中是否有字符?

Php 我如何知道字符串中是否有字符?,php,Php,我如何知道字符串中是否有字符? 例如,我有5个无效字符,不能在用户名中使用。 {-()*#}我该怎么做呢?如果您只想检查每个字符是字母还是数字,您可以使用: $disallowed = array('-', '(', ')', '*', '#'); $valid = true; foreach ($disallowed as $char) { if (strpos($username, $char) !== false) $valid = false; } if ($valid)

我如何知道字符串中是否有字符? 例如,我有5个无效字符,不能在用户名中使用。
{-()*#}我该怎么做呢?

如果您只想检查每个字符是字母还是数字,您可以使用:

$disallowed = array('-', '(', ')', '*', '#');
$valid = true;
foreach ($disallowed as $char) {
    if (strpos($username, $char) !== false) $valid = false;
}

if ($valid)
  echo 'valid username';
else 
  echo 'invalid username';
if(ctype_alnum($text)){
   echo "Success!";
}

您接受
在用户名中?即,您确定这些是您要检查的唯一特殊字符吗?如果是这样的话,我想问为什么?重点是你可能需要相反的方法-检查允许的字符,而不是不允许的字符。谢谢你能告诉我如何检查用户的电子邮件是否有效吗?one@tow.three
   if (preg_match('/(\{|\(|-|\)|\*|#|\})+/g', $string)) {
      echo 'invalid characters';
   }
if(ctype_alnum($text)){
   echo "Success!";
}