zend框架正则表达式问题:“使用模式时出现内部错误”

时间:2011-08-02 15:24:10

标签: php regex forms zend-framework

我在多个测试人员上测试了我的正则表达式,我也尝试了多个正则表达式,但我不断收到错误:“使用模式时出现内部错误”/ ^(04 \ d {2} /(\ d \ {2})\ d {2} \ d {2})$ /'“。我知道它可能不是最好的正则表达式,但我找不到一个好的,我不是真正的专业人士,我必须继续前进。 它应该匹配的电话号码是04dd / dd dd dd,d是0到9之间的数字。 这是我在创建表单时使用的代码。

$phone = $this->addElement('text', 'phone', array(
        'filters'    => array('StringTrim'),
        'validators' => array(
            array('regex', false, array('/^(04\d{2}/(\d{2} )\d{2} \d{2})$/'))
        ),
        'required'   => true,
        'label'      => 'Phone:',
    ));

我该如何解决这个问题? 谢谢。

1 个答案:

答案 0 :(得分:3)

你必须逃避斜线:

array('regex', false, array('/^(04\d{2}\/(\d{2} )\d{2} \d{2})$/'))