6

我知道如果 $stringabc 包含除数字以外的任何内容,我当前使用的一个条件是:

if(preg_match("/[^0-9]/",$stringabc))

我想要一个 if 条件,如果 $stringdef 包含除字母、空格和破折号 (-) 之外的任何内容,它会给出错误。

4

3 回答 3

12

那将是:

if(preg_match('/[^a-z\s-]/i',$stringabc))

对于“除字母 (az)、空格 (\s,表示任何类型的空格) 和破折号 (-) 之外的任何内容”。

还允许数字:

if(preg_match('/[^0-9a-z\s-]/i',$stringabc))
于 2012-12-12T00:24:36.987 回答
2

你可以使用类似的东西:

preg_match("/[^a-z0-9 -]/i", $stringabc)
于 2012-12-12T00:21:09.730 回答
0

如果您想停止所有空格,另一种方法是

preg_match("/^[a-z[[:space:]]-]/i",$stringabc);
于 2012-12-12T00:29:35.257 回答