filter_var()ALPHA和仅空格

时间:2016-04-05 09:01:00

标签: php

我们如何配置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");
}

2 个答案:

答案 0 :(得分:0)

您需要在正则表达式中添加一些“锚点”;目前你基本上要求它匹配包含字母或空格的字符串,而不是仅包含字母或空格。

尝试

$namefields = '/^[a-zA-Z\s]+$/';

^匹配字符串的开头,$匹配结尾,这意味着整个内容必须与您的字符列表匹配。

答案 1 :(得分:0)

filter_var — Filters a variable with a specified filter

它无法验证变量是否仅包含ALPHA字符串和空格。

使用preg_match