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

时间:2012-02-06 15:42:01

标签: php regex yii

我试过了

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

因为我想只允许格式为1.00,4.34,234.98

的正值

我收到此错误

preg_match(): Unknown modifier '|'

2 个答案:

答案 0 :(得分:4)

你的模式应该用斜杠括起来,即:

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

答案 1 :(得分:0)

如果您使用number_format打印您的号码,您可以使用:

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

适用于1,234.56或234,56