0

Zend Forms でフォームを作成していますが、メール検証の正規表現を追加しようとすると、次のエラーが表示されます。

パターン使用中の内部エラー

コードは次のとおりです。

$email->setLabel('Email:')
      ->setRequired()
      ->addValidator(new Zend_Validate_Regex('/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$/i'))
      ->addValidator(new Zend_Validate_StringLength(array(3, 255)))
      ->addFilter(new Zend_Filter_StripTags())
      ->addFilter(new Zend_Filter_StringTrim());

この正規表現は、正しい電子メール アドレスを検証する必要があり、他の場所 (JS など) でも機能します。

オプションを削除iして置き換えようとしましたが、どちらも機能\\\ません。何か案は?

4

1 に答える 1

0

閉じ括弧がありません (おそらく最後の の後?)

于 2012-07-07T23:36:04.237 に答える