我怎么知道字符串中是否有某些字符? 我有5个无效字符,例如不能在用户名中使用。 { - ()*#}我该怎么做?
答案 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';
}