我怎么知道字符串中是否有某些字符?

时间:2011-02-04 06:58:29

标签: php

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

4 个答案:

答案 0 :(得分:4)

如果您只是想检查每个字符是否是您可以使用的字母或数字:

if(ctype_alnum($text)){
   echo "Success!";
}

答案 1 :(得分:3)

if (preg_match('/[-()*#]/', $string)) {
    echo 'string contains one or more illegal characters';
}

if (preg_match('/[^a-zA-Z0-9]/', $string)) {
    echo 'string contains non-alphanumeric characters';
}

答案 2 :(得分:2)

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

if ($valid)
  echo 'valid username';
else 
  echo 'invalid username';

答案 3 :(得分:1)

   if (preg_match('/(\{|\(|-|\)|\*|#|\})+/g', $string)) {
      echo 'invalid characters';
   }