一,只包含中文:
'city' => 'required|regex:/^[\x{4e00}-\x{9fa5}]+$/u',
正则表达式 [\x{4e00}-\x{9fa5}]
匹配所有中文字符,其中 \x{4e00}
是中文字符的开始码,\x{9fa5}
是结束码。
u
修饰符用于正则表达式,以支持 UTF-8 编码
二,包含中英文数字
public function rules()
{
return [
'your_field' => ['required', 'regex:/^[A-Za-z0-9\x{4e00}-\x{9fa5}]+$/u']
];
}
三,指字字符串长度范围
使用min/max规则
例子:最短2个字,最长11个字
$message = [
'city' => '请选择要搜索的城市',
'city.min' => '长度最小2个字',
'city.max' => '长度最大11个字',
];
$params = $this->validate($request, [
//所属城市
'city' => 'required|string|min:2|max:11|regex:/^[\x{4e00}-\x{9fa5}]+$/u',
],$message);
说明:laravel校验时,对字符串长度是按照utf-8计算的,对于中文来说很方便
四,指定字符串固定长度
使用size规则
//得到城市
$message = [
'city' => '请选择要搜索的城市',
'city.size' => '长度固定11个字',
];
$params = $this->validate($request, [
//所属城市
'city' => 'required|string|size:11|regex:/^[\x{4e00}-\x{9fa5}]+$/u',
],$message);
五,指定数字的大小范围
// 参数检查
$message = [
'age' => '用户年龄错误',
];
$params = $this->validate($request, [
'age' => 'required|integer|between:1,120',
],$message);
六,分别指定数字的最大值和最小值
最小值用min
$message = [
'age' => '用户年龄错误',
];
$params = $this->validate($request, [
'age' => 'required|numeric|min:18',
],$message);
最大值用max
// 参数检查
$message = [
'age' => '用户年龄错误',
'age.max' => '高于最大值',
];
$params = $this->validate($request, [
'age' => 'required|numeric|max:120',
],$message);
七,变量的值是固定的几个,可以列举:
用in列举出可以选的值
//租还是买类型: 7.租共享单车8.买自行车
'type' => 'required|in:7,8',
八,变量是数组
//商店类型 1.大型超市 2.夫妻店 3.社区底商 4.临街门面 5.档口摊位 6.百货中心 7.其他
'shop_type'=>'nullable|array',
'shop_type.*'=>'required|in:1,2,3,4,5,6,7',
标签:laravel,city,9fa5,4e00,验证,age,required,规则,message From: https://www.cnblogs.com/architectforest/p/18338614