如果只给出合法字符,如何使用php preg_match()来检测非法字符?

时间:2014-02-11 18:48:14

标签: php regex preg-match

我有一组允许在一串文字中使用的字符。是否可以使用preg_match来检测所提供字符范围之外的字符是否存在?

例如:

$str1 = "abcdf9"
$str2 = "abcdf@"
$str3 = "abcdfg"

legal chars =“a-z”

if(preg_match()...)需要为'$ str1'&返回false '$ str2',但'str'代表$ str3。

这可能吗?

2 个答案:

答案 0 :(得分:1)

if(!preg_match('/[^a-z]/', $string)) { //only a-z found }

//or

if(preg_match('/[^a-z]/', $string)) {
    return false; // other stuff found
} else {
    return true; // only a-z found
}

答案 1 :(得分:1)

查看此站点对部署regEx非常有用

http://regexr.com/

你需要的是/ [a-z] /?

您可以使用/ [a-z] {5} /

指定字符数