2011-02-04 140 views
0

我如何知道某些字符是否在字符串中? 我有5個無效字符,例如不能在用戶名中使用。 { - ()*#}我該怎麼做?我如何知道某些字符是否在字符串中?

+0

你接受``風的用戶名?即你確定這些是你想檢查的唯一特殊字符嗎?如果是這樣,我想問*爲什麼*? – deceze 2011-02-04 06:59:14

+0

tnx例如我說 – mamrezo 2011-02-04 07:00:32

回答

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
$disallowed = array('-', '(', ')', '*', '#'); 
$valid = true; 
foreach ($disallowed as $char) { 
    if (strpos($username, $char) !== false) $valid = false; 
} 

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

如果你只是要檢查是否每一個字符是字母或數字,你coud使用:

if(ctype_alnum($text)){ 
    echo "Success!"; 
} 
相關問題