使用正则表达式验证Yii中的十进制数字



我试过

array('Number', 'match', 'pattern'=>'(^d*.?d*[0-9]+d*$)|(^[0-9]+d*.d*$)'),

因为我只想允许1.00、4.34、234.98 格式的正值

我通过得到这个错误

preg_match(): Unknown modifier '|'

您的模式应该用斜线括起来,即:

array('Number', 'match', 'pattern'=>'(/^d*.?d*[0-9]+d*$)|(^[0-9]+d*.d*$)/')

如果使用number_format打印数字,可以使用:

[['formfield'], 'number', 'numberPattern' => '/(^d+,d+.d+$)|(^d+.d+$)/'],

它适用于1234.56或234,56

最新更新