我正在尝试验证我的注册表单,并且我的一个验证不起作用。如果名字超过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