php - 检查字符串长度、最大值和最小值

标签 php strlen

是否有检查字符串是否太长或太短的功能,我通常会在几个地方写这样的东西:

if (strlen($input) < 12)
{
   echo "Input is too short, minimum is 12 characters (20 max).";
}
elseif(strlen($input) > 20)
{
   echo "Input is too long, maximum is 20 characters.";
}

我知道你可以很容易地写一个,但是 PHP 中有内置的吗?

我通常会在验证输入时收集错误,因此将编写上述代码:

$errors = array();

    if (strlen($input) < 12)
    {
       $errors['field_name'] = "Field Name is too short, minimum is 12 characters (20 max).";
    }
    elseif(strlen($input) > 20)
    {
       $errors['field_name'] = "Field Name is too long, maximum is 20 characters.";
    }

如何把它变成一个函数^?

最佳答案

我猜你可以做一个这样的函数:

function validStrLen($str, $min, $max){
    $len = strlen($str);
    if($len < $min){
        return "Field Name is too short, minimum is $min characters ($max max)";
    }
    elseif($len > $max){
        return "Field Name is too long, maximum is $max characters ($min min).";
    }
    return TRUE;
}

然后你可以这样做:

$errors['field_name'] = validStrLen($field, 12, 20);

关于php - 检查字符串长度、最大值和最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5505227/

相关文章:

c - strlen() 输出不正确

c - 读取字符串并获取长度的函数 - C

PHP include 导致页面顶部出现空白

c - 关于 BYTE 类型的 strlen() 的警告

php - 我需要帮助理解在类方法中声明的函数的范围

php - 从 MySQL 数据库中选择一个值,如果发布的值相等,则执行 'action'

c - 为什么 (positive_integer < negative_integer) 被评估为 true?

c - 格式 ‘%d’ 需要类型为 ‘int’ 的参数,但参数 2 的类型为 ‘size_t’ [-Wformat]

php - cakephp 3 的 Between 子句

php - AngularJS 错误 : [ngRepeat:dupes]