2013-02-14 49 views
0

我目前正在研究一個PHP腳本,我需要檢查一個字符串。 如果字符串包含除0 1和空格之外的其他字符,那麼我想返回一個錯誤。如果字符串只包含0 1和空格,則繼續執行代碼。PHP字符串只能包含0 1和空格

該字符串是用戶提交的,因此它可能很長。

我已經嘗試在網上尋找解決方案,但我無法找到我正在尋找的東西。

但我有一種感覺,我打算用正則表達式來解決我的問題。我發現下面的代碼:

if(preg_match('/^[0-1]$/', $txt_string) == 1) { 

    return "Ok"; 

} else { 

    return "Error"; 

} 

但這裏的問題是,它似乎當我插入多個號碼失敗。

/Morten。

回答

3

您忘記了量詞,並且[0-1]實際上等同於[01]。另外,你似乎忘了在你的角色課中加入空格。你可以添加它,如果你想讓它們匹配。

所以,你的正則表達式應該是:

'/^[01 ]+$/' 
+0

啊。我們正在接近我正在尋找的東西。但我可以看到它不接受換行符。我們可以讓它接受嗎? – MortenHC 2013-02-14 21:16:17

+0

@MortenHolmChristensen。你需要啓用'MULTILINE'模式。我不知道你如何在'php regex'中做什麼。你可以搜索它。 – 2013-02-14 21:17:05

+0

@RohitJain你不知道。它所做的就是讓'^ $'匹配換行符。 – 2013-02-14 21:18:23

相關問題