2011-02-04 9 views
0

文字列に文字が含まれているかどうかわかりますか? ユーザー名に使用できない無効な文字が5つあります。 { - ()*#}どうすればいいですか?文字列に文字が含まれているかどうかわかりますか?

+0

を受け入れますか?私。チェックしたい唯一の特殊文字は、これらの文字だけですか?もしそうなら、私は*なぜ*を質問したいと思いますか? – deceze

+0

tnxたとえば、私は言った – mamrezo

+0

おそらくあなたは逆のアプローチが必要です - *許可*文字ではなく、*許可されていない*文字をチェックしています。 – deceze

答えて

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'; 
} 
+0

ありがとうことができます私はどのように私はユーザーの電子メールを有効にするかどうかを確認することができます教えてください? [email protected] – mamrezo

+0

@mam http://stackoverflow.com/search?q=email+validation+%5Bphp%5D – deceze

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!"; 
} 
関連する問題