如何定义规则匹配模式正则表达式最多6个字符?

时间:2016-12-21 08:57:02

标签: regex yii2

我的模型类中有以下规则

[['kode_pos', 'p_kode_pos'], 'match', 'pattern' => '/^[a-zA-Z0-9 ]{0,6}+$/'],

上面的代码不起作用,表示i输入任何东西,输入字段中没有出现错误。

但有了这条规则

[['kode_pos', 'p_kode_pos'], 'match', 'pattern' => '/^[a-zA-Z0-9 ]+$/'],

如果输入特殊字符,它只包含字母,数字,空格和错误。但如何定义max 6 char?

3 个答案:

答案 0 :(得分:1)

尝试添加此代码

[['kode_pos', 'p_kode_pos'], 'string', 'max' => 6],

答案 1 :(得分:0)

使用此(删除加号)

[['kode_pos', 'p_kode_pos'], 'match', 'pattern' => '/^[a-zA-Z0-9 ]{0,6}$/'],

答案 2 :(得分:0)

使用两个不同的验证器

[['fieldName'], 'string', 'max' => 6,'tooLong' => 'field exceeded max length'],
[['fieldName'], 'match', 'pattern' => '/^[a-zA-Z0-9 ]+$/','message'=>'invalid format'],