preg_match多个表达式

luc*_*uca 0 php regex preg-match

嗨伙计们,我想知道我怎么能建立e regExp说:

"这个字符串可能包含1-25个不是这些特定字母的字母:"root","bin","download","shutdown"

所以我认为:

$dang_words="/(root)|(bin)|(shutdown)|(download)/";
$reg_exp="/^[a-z]{1,25}$/";

if(preg_match($reg_exp,$field) || !preg_match($dang_words,$field))
{
 echo "your input it's okkk!";
}
else 
 echo "this is a bad word!!";
Run Code Online (Sandbox Code Playgroud)

但它不起作用

为什么?

谢谢

卢卡

ami*_*chd 5

$dangerous_words="/(root)|(bin)|(shutdown)|(download)/";
$reg_exp="/^[a-z]{1,25}$/";

if(preg_match($reg_exp,strtolower(trim($field))) && !preg_match($dangerous_words,strtolower(trim($field))))
{
 echo "your input it's okkk!";
}
else 
 echo "this is a bad word!!";
Run Code Online (Sandbox Code Playgroud)

你的逻辑运算符搞砸了......刚从||改变了 至 &&.