preg_match只允许使用字母,空格和短划线和空格

时间:2012-12-12 00:17:20

标签: php

我知道我目前正在使用的一个条件,如果$ stringabc包含除数字之外的任何内容,它会发出错误:

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

我想要if条件,如果$ stringdef包含除字母,空格和短划线( - )之外的任何内容,则会出错。

3 个答案:

答案 0 :(得分:9)

那将是:

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

表示“除字母(a-z)外的任何内容,空格(\ s,表示任何类型的空格)和短划线( - )”。

还允许数字:

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

答案 1 :(得分:1)

您可以使用以下内容:

preg_match("/[^a-z0-9 -]/i", $stringabc)

答案 2 :(得分:0)

如果你想要停止所有空格,你可以采用另一种方式

preg_match("/^[a-z[[:space:]]-]/i",$stringabc);