【问题标题】:"Internal error while using the pattern" while passing email validation regex to Zend_Validate_Regex将电子邮件验证正则表达式传递给 Zend_Validate_Regex 时出现“使用模式时出现内部错误”
【发布时间】:2012-07-07 22:07:33
【问题描述】:

我正在 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 选项并将 \ 替换为 \\ 但均无效。有什么想法吗?

【问题讨论】:

标签: php regex zend-framework zend-form email-validation


【解决方案1】:

缺少右括号(大概在最后的?之后)

【讨论】:

  • 它没有 :) 抛出 SyntaxError: Invalid regular expression 错误。
猜你喜欢
  • 1970-01-01
  • 2017-12-25
  • 2020-11-04
  • 1970-01-01
  • 2015-08-07
  • 2014-04-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多