Laravel 验证文字时 digits_between 跟 b
2017-07-07 本文已影响803人
龙权
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。