2012-02-06 99 views
2

我已經試過Yii中驗證十進制數的正則表達式

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

因爲我想只允許有1.00,4.34格式正值,234.98

我得到這個錯誤,雖然

preg_match(): Unknown modifier '|' 

回答

4

您的圖案應該用斜槓括起來,即:

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

如果使用number_format來打印你的號碼,你可以使用:

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

它適用於1,234.56或234,56