2014-03-13 55 views
1

,我想的是用戶不能使用下列特殊的標記有此輸入字段:$如何在PHP中檢查是否一串包含特殊字符,如{和}

現在我有{} []下面的解決方案在我的代碼中,但問題是它不允許ä,ö,ü或其他字符。

if (preg_match('/^[-a-zA-Z0-9 .]+$/', $string) || empty($string)){ 
echo "Everything ok!"; 
else{ 
echo "Everything not ok!";} 

正因爲如此,我試圖使用的preg_match( '/^[\ p {L} \ p {N} .-] + $ /',$字符串),因爲它被說成允許從任何字符語言,但該解決方案不允許像@和*這樣的標記,我認爲這可能是需要的。那麼,除了{} [] $ -marks之外的任何解決方案都會允許嗎?任何幫助非常感謝,因爲我無法弄清楚寫什麼來實現這個工作。

+0

爲什麼你不只是permissable字符添加到字符類? – mario

+0

esier定義你允許的內容,而不是你不知道的東西 – 2014-03-13 20:26:54

+0

「除了'{} [] $'」='[^ {} [\] $]'(用'^'和'+ $'環繞來測試整個輸入)。聽起來不難。 – Jon

回答

0

這是我要做的事:

if (preg_match('/[^a-zA-Z\d]/', $string)) { 
//$string contains special characters, do something. 
} 
相關問題