我们如何配置filter_var()
来验证一个只应该有ALPHA字符串和空格的字符串?
我做了以下内容,但只要true
和$lastname
中的任何一个都有字母数字值,它就会返回$firstname
。
$namefields = '/[a-zA-Z\s]+/';
if (filter_var($firstname, FILTER_VALIDATE_REGEXP, array("options"=>array("regexp"=>$namefields))) == true &&
filter_var($lastname, FILTER_VALIDATE_REGEXP, array("options"=>array("regexp"=>$namefields))) == true
) {
echo("Success");
} else {
echo("Error");
}
答案 0 :(得分:0)
您需要在正则表达式中添加一些“锚点”;目前你基本上要求它匹配包含字母或空格的字符串,而不是仅包含字母或空格。
尝试
$namefields = '/^[a-zA-Z\s]+$/';
^匹配字符串的开头,$匹配结尾,这意味着整个内容必须与您的字符列表匹配。
答案 1 :(得分:0)
filter_var — Filters a variable with a specified filter
它无法验证变量是否仅包含ALPHA字符串和空格。
使用preg_match
。