Laravel 验证文字时 digits_between 跟 between 的区别

digits_between  ! preg_match('/[^0-9]/', $value) 只匹配非数字的内容

digits_between => 字段值的长度

protected function validateDigitsBetween($attribute, $value, $parameters)
    {
        $this->requireParameterCount(2, $parameters, 'digits_between');

        $length = strlen((string) $value);

        return ! preg_match('/[^0-9]/', $value)
                    && $length >= $parameters[0] && $length <= $parameters[1];
    }

between => 字符数

protected function validateBetween($attribute, $value, $parameters)
    {
        $this->requireParameterCount(2, $parameters, 'between');

        $size = $this->getSize($attribute, $value);

        return $size >= $parameters[0] && $size <= $parameters[1];
    }
digits_between 直接将 value 字符串字符串后使用 strlen 字符串长度,  UTF-8 编码的字符串一个字长度为 3

Between 使用 getSize 通过 mb_strlen 获取长度, mb_strlen 默认使用 utf-8 编码, 返回具有 encoding 编码的字符串 str 包含的字符数。 多字节的字符被计为 1。 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、简介 Laravel 提供了多种方法来验证应用输入数据。默认情况下,Laravel 的控制器基类使用Valid...
    伊Summer阅读 1,557评论 0 3
  • 验证 简介 Laravel 对验证应用的输入数据提供了多中途径的实现。默认的,Laravel 的基础控制器类使用了...
    Dearmadman阅读 10,244评论 5 8
  • 2017/3/14 RDBMS:关系型数据库管理系统 关系模型独立于语言 SQL有几种不同类型的语言:数据定义语言...
    ancherl阅读 1,659评论 0 6
  • 关于钢琴教师的师资问题,大多数家长对钢琴不熟悉。我整理归纳总结了几点。希望对学琴的您有所帮助。 1.可能上来就会问...
    乐学艺术中心阅读 1,784评论 4 12
  • 不要给自己的冷漠找任何的理由。 不要给自己的冷漠找任何的理由。心中有佛,见的都是光明,说的都是善良;心中有魔,见的...
    xcy无名阅读 223评论 0 2