Ok I am checking that a string is at least 4 characters long and 25 or less characters short
I tried to use strlen like this
$userNameSignupLength = strlen($userNameSignup);
else if($userNameSignupLength<4 && $userNameSignupLength>25) {
$userNameSignupError = "Must be between 4 to 25 characters long";
}
but it doesn't work... what did I do wrong?
Using strlen
is correct to check the length of a string (in bytes). But a number cannot be both smaller than 4 and greater than 25 at the same time. Use ||
instead:
if ($userNameSignupLength < 4 || $userNameSignupLength > 25)
Now the condition is fulfilled if the number is either smaller than 4 or greater than 25.
将&&更改为||
else if ($userNameSignupLength<4 || $userNameSignupLength>25)
I think you want an OR there:
else if($userNameSignupLength < 4 || $userNameSignupLength > 25) {
Like Gumbo said, the length cannot possibly be both less than 4 AND greater than 25. &&
means and
.
并摆脱'if'关键字前面的'else'!
With your code, it is evident that you are trying to validate a text field. You have not shared html of this code. Anyways , from my expertise i will say that you should not use &&. You should use ||. Also you should not directly use else if. You should use if for this code.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.