2013-12-10 13 views
-4
elseif (preg_match("/[^a-z\.^A-Z\.^0-9\._]/",$_POST['content'])) { echo "Comments can only fill normal English letters (a-Z) or numbers!"; } 

我需要它只允許「?或!」因爲人們可能會在評論框中提問,我該怎麼做?如何在此腳本中允許使用問號?

感謝

+2

該正則表達式不會做你認爲它的作用。 –

+0

你可以試試嗎? '/^[a-zA-Z0-9_] + \\ $ $ /',將匹配alhpanumbers,下劃線和一個可選問號作爲結尾。 – Atle

回答

0

「/[^a-z.^A-Z.^0-9._\?]/」將增加問號你的對手,但這種整體的方法是蠻力和毛利率。

+0

你有什麼建議來防止它? – user2617739

+0

你想要阻止什麼?爲什麼?我的意思是,如果這只是一個評論框,我會允許一個人想要輸入的幾乎所有內容,並且在頁面 – donatJ

+0

上試圖阻止幾乎任何東西。 我不希望他們在這裏有自由,只是純文本。但似乎我需要允許?要麼 ! – user2617739

0

您可以通過預先計劃\(反斜槓)來創建特殊字符,例如\?\!。要在一行中匹配a-z,A-Z,0-9,下劃線,文字句點,文字感嘆號和字面問號,可以使用以下內容:^[a-zA-Z0-9_\.\!\?]+$

我不太清楚你想要什麼特定的格式......你目前的正則表達式似乎不符合任何明智的。