$rule = [
['nickname', 'max:20', '用户名最多不能超过20个字符'],
['password', 'length:6,20', '密码长度请控制在6-20个字符之间'],
['sex', 'regex:[01]', '错误'],
['email', 'email', '请填写正确的邮箱格式'],
['phone', 'regex:/^1\d{10}$/', '请填写正确的手机格式'],
['status', 'regex:/^\-?1|^[02]/', '请填写正确的状态识别码'],
['role', 'regex:/^[01]/', '请填写正确的角色识别码'],
];
$validate = new Validate($rule);
$fieldName = $_POST["item"];
$fieldValue = null;
$data = [
$_POST['item'] => $_POST['value'],
];
if (!$validate->check($data)) {
return $validate->getError();
}
报错: preg_match(): No ending delimiter '/' found
['status', 'regex:/^\-?1|^[02]/', '请填写正确的状态识别码'],
在这一行中我想用正则表达式匹配 -1 0 1 2, 但是经过测试当加入 | 分支的时候,就会报没有分隔符的错误。请问如何解决
最佳答案