2019-01-21 20:33:23 2913次浏览 2条回答 1 悬赏 17 金钱

https://www.yiichina.com/question/974

这里说的没明白

array('carmark','match','pattern'=>'/^[\u4e00-\u9fa5]{1}[a-zA-Z]{1}[a-zA-Z_0-9]{5}$/'),

我改成

['username','match','pattern'=>'/^[\x{4e00}-\x{9fa5}_A-Za-z0-9]+$/','message'=>'角色名由中文,字母,数字组成', 'on' => ['isname']],

难道不是这样吗。是我太天真了吗?
报错

name	"PHP Warning"
message	"preg_match(): Compilation failed: character value in \\x{} or \\o{} is too large at offset 9"

最佳答案

  • 墨轩娣 发布于 2019-01-22 09:37 举报

    明明是php语法提示的错误嘛,不是yii2的坑。你的正则错了吧

    ['username', 'match', 'pattern'=>'/^[a-zA-Z][a-zA-Z0-9_]{4,29}$/', 'on'=>['create'], 'message'=>'5-30位字母、数字或“_”,字母开头'],
    
    1 条回复
    回复于 2019-01-22 22:31 回复

    好的,谢谢大佬

    觉得很赞
  • 回答于 2019-01-22 10:41 举报

    解决这个问题的办法其实很简单,只要用php原生函数preg_match走通,那么用到任何框架中都没问题。

您需要登录后才可以回答。登录 | 立即注册
yzg91
主管

yzg91

注册时间:2018-11-15
最后登录:2022-05-10
在线时长:22小时13分
  • 粉丝2
  • 金钱479
  • 威望20
  • 积分899

热门问题