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


Validate decimal numbers in Yii with regex

我试过

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