2013-02-14 135 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

相关问题