简单的'Greater Than'表单验证



我正在尝试验证我的注册表单,并且我的一个验证不起作用。如果名字超过20个字符长,我想回显错误消息。我正在使用代码

} else if($_POST["mem_first_name"] >20) {
        $errors[] = 'Sorry but your First name is limited to 20 Characters each';
}

但是,如果输入超过20个字符,则不会显示错误。但是,如果我使用相同的代码,但将其更改为小于这样的

} else if($_POST["mem_first_name"] <20) {
        $errors[] = 'Sorry but your First name is limited to 20 Characters each';
}

那么它工作,有一个简单的修复吗?

if(strlen($_POST["mem_first_name"]) > 20)

使用strlen()函数

} else if(strlen($_POST["mem_first_name"]) >20) {
        $errors[] = 'Sorry but your First name is limited to 20 Characters each';
}

如何使用strlen()函数,计数字符串?IMO

是一种稳定、合适的字符数计数方法。
} else if(strlen($_POST["mem_first_name"]) >20) {
        $errors[] = 'Sorry but your First name is limited to 20 Characters each';
}

您必须使用strlen()函数进行字符串长度检查。另外,请注意,如果需要多字节编码支持,则应该切换到使用mb_strlen()

var_dump(strlen('bär'));            // int(4) - byte length
var_dump(mb_strlen('bär', 'utf8')); // int(3) - character length

最新更新