首页 > 解决方案 > 使用 preg_match 检查多个变量

问题描述

我正在运行检查以验证表单,并且我正在尝试使用 preg_match,如下所示:

}else if(!preg_match("/^[a-zA-Z0-9]*$/",$firstName)){
   //code
}

但是,我想检查几个变量,例如$lastName, $address,等...

如何在不调用 preg_match 到每个单一变量的情况下将它们包含在检查过程中?

谢谢!

标签: phpvalidation

解决方案


如果您只想检查字符串是否为字母数字,请使用http://php.net/manual/en/function.ctype-alnum.php。这会容易得多。

if (ctype_alnum($firstName) && ctype_alnum($lastName) && ctype_alnum($address)) {
     //they are all alphanumerical
}

或者,如果您需要多次运行自己的验证,您可以创建自己的函数并以相同的方式调用

if (validate_inputs($firstName) && validate_inputs($lastName) && validate_inputs($address)) {
     //it is an alphanumerical string
}
function validate_inputs($input) {
    return preg_match("/^[a-zA-Z0-9]+$/", $input);//i changed the quantifier so the string must contain a character as well
}

推荐阅读