2015-09-15 50 views
-1

我使用Regular Expression編寫了PHP的代碼。我給下面的數組作爲輸入字符串:PHP正則表達式檢查字符串

$alphmericGoodCases = array('ASDFGH123', 'ASFGH1234', '1234567', '555 abcdf', '#$&%^@-'); 
foreach($alphmericGoodCases as $alphmericGoodCase){ 
if(preg_match('/^[A-Za-z0-9\s_-]+$/', $alphmericGoodCase)) { 
    echo "true"; 
} 
else 
    echo "false"; 
} 

輸出是一樣的truetruetruetruefalse.不過,我想最後一個也是true.我在哪裏丟失的Regular Expression

+4

這最後字符串不是字母數字。你爲什麼期望它是'真實的'?自從?如果您希望這些字符有效,請將它們作爲有效字符添加到正則表達式中。 –

+0

我必須檢查特殊字符。 –

+1

最後一個事實上是'非字母數字' –

回答

-1

如果你想在特殊字符,就用這個較短的版本:

$alphmericGoodCases = array('ASDFGH123', 'ASFGH1234', '1234567', '555 

abcdf', '#$&%^@-'); 
foreach($alphmericGoodCases as $alphmericGoodCase) 
{ 

    if(preg_match('/^.+$/', $alphmericGoodCase)) { 
     echo "true"; 
    } 
    else 
     echo "false"; 
} 

這基本上說,「匹配任何字符串,除了換行符」

+0

爲什麼downvote? – NaijaProgrammer