如何检测一些" $#%@ *& $!"从php中的String中键入字符?

时间:2014-11-06 09:32:20

标签: php

我有一个用户名输入。如果我想检测像这样的$array = array('#','%','^')数组中的一些字符那么在php中是否有内置函数?将获取一个数组并返回true或false。

2 个答案:

答案 0 :(得分:1)

最简单的方法是:

if (str_replace($array, '', $username) != $username) {
  do something;
}

您当然可以编写自己的功能:

function contains_unallowed($array = ['#', '%', '^']) {
  return str_replace($array, '', $username) != $username;
}

它将一个字符数组作为可选参数,并返回true或false。如果不起作用,请将方括号[]替换为array()

答案 1 :(得分:0)

array_intersect可以帮助您 - 例如

$array = array('#','%','^');

if(array_intersect(str_split($username), $array)) {
    echo "Found";
} else {
    echo "Not Found";
}