【问题标题】:PHP strlen questionPHP strlen 问题
【发布时间】:2010-03-22 14:24:10
【问题描述】:

好的,我正在检查一个字符串是否至少有 4 个字符长和 25 个或更少的字符短

我试着像这样使用 strlen

$userNameSignupLength = strlen($userNameSignup);

else if($userNameSignupLength<4 && $userNameSignupLength>25) {

            $userNameSignupError = "Must be between 4 to 25 characters long";

        }

但它不起作用......我做错了什么?

【问题讨论】:

  • 与@Kevin 相同。你想要的是&gt;= 25 而不是&gt; 25
  • 你可能想看看 php.net/manual/en/function.mb-strlen.php ,strlen 不正确地计算像 UTF-8 这样的多字节字符。
  • @p4blo, no - 25 可以,所以他想检查&gt; 25 是否有太长的。

标签: php validation strlen


【解决方案1】:

使用strlen 可以正确检查字符串的长度(以字节为单位)。但是一个数字不能同时小于 4 大于 25。请改用||

if ($userNameSignupLength < 4 || $userNameSignupLength > 25)

现在,如果数字小于 4 大于 25,则满足条件。

【讨论】:

  • 非常感谢你,哈哈,我总是把我的ands和ors搞得一团糟>
【解决方案2】:

将 && 改为 ||

else if ($userNameSignupLength<4 || $userNameSignupLength>25)

【讨论】:

    【解决方案3】:

    我想你想要一个 OR:

    else if($userNameSignupLength < 4 || $userNameSignupLength > 25) {
    

    就像 Gumbo 所说,长度不可能既小于 4 又大于 25。&amp;&amp; 表示 and

    【讨论】:

      【解决方案4】:

      去掉'if'关键字前面的'else'!

      【讨论】:

        【解决方案5】:

        使用您的代码,很明显您正在尝试验证文本字段。您尚未共享此代码的 html。无论如何,根据我的专业知识,我会说你不应该使用 &&。你应该使用||。此外,您不应该直接使用 else if。您应该为此代码使用 if。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-07-05
          • 1970-01-01
          • 2016-01-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多