preg_match - 肯定有更好的方法来搜索这些字符
preg_match - For sure there is a better way to search for these characters
因此,我想检查用户输入是否包含以下某些字符:
"
'
<
>
我希望有人能用更少的代码告诉我更好的方法
谢谢!
我使用了 preg_match
,但我只是用 4 个嵌套的 if
来管理它。
/*Checks if the given value is valid*/
private function checkValidInput($input)
{
/*If there is no " */
if(preg_match('/"/', $input) == false)
{
/*If there is no ' */
if(preg_match("/'/", $input) == false)
{
/*If there is no <*/
if(preg_match("/</", $input) == false)
{
/*If there is no >*/
if(preg_match("/>/", $input) == false)
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}
else
{
return false;
}
}
else
{
return false;
}
}
您可以创建一个正则表达式 class
preg_match('#["\'<>]#', $input);
编辑:
如果您需要检查所有字符,请使用带有 for 循环的 strpos()
function checkInput($val) {
$contains = true;
$required = "<>a";
for($i = 0, $count = strlen($required); $i < $count ; ++$i) {
$contains = $contains && false !== strpos($val, $required[$i]);
}
return $contains;
}
var_dump(checkInput('abcd<>a')); // true
var_dump(checkInput('abcd>a')); // false, doesn't contain <
因此,我想检查用户输入是否包含以下某些字符:
"
'
<
>
我希望有人能用更少的代码告诉我更好的方法
谢谢!
我使用了 preg_match
,但我只是用 4 个嵌套的 if
来管理它。
/*Checks if the given value is valid*/
private function checkValidInput($input)
{
/*If there is no " */
if(preg_match('/"/', $input) == false)
{
/*If there is no ' */
if(preg_match("/'/", $input) == false)
{
/*If there is no <*/
if(preg_match("/</", $input) == false)
{
/*If there is no >*/
if(preg_match("/>/", $input) == false)
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}
else
{
return false;
}
}
else
{
return false;
}
}
您可以创建一个正则表达式 class
preg_match('#["\'<>]#', $input);
编辑:
如果您需要检查所有字符,请使用带有 for 循环的 strpos()
function checkInput($val) {
$contains = true;
$required = "<>a";
for($i = 0, $count = strlen($required); $i < $count ; ++$i) {
$contains = $contains && false !== strpos($val, $required[$i]);
}
return $contains;
}
var_dump(checkInput('abcd<>a')); // true
var_dump(checkInput('abcd>a')); // false, doesn't contain <