如何使用正则表达式验证元素中的多日期 PHP Zend Framework
How can validate multidates in element with regexp PHP Zend Framework
我使用 multidatepicker select 进行字段输入,multidatepicker 在字段中输入日期,例如:2016-10-02
、2016-10-13
、2016-10-25
。
如何验证所有日期或一个日期,也许我可以使用数组正则表达式验证器(如果存在)?
$element_edit->addValidator ('regex', false, array(
'pattern'=>'/^\d{4}-\d{2}-\d{2}$/',//for only one
'messages'=>array(
'regexNotMatch'=>'Validate error')
)
);
$form->addElement($element_edit);
这很简单。我们在工作中使用 Zend,所以我经常处理它。
$this->addElement('text', 'firstname', array(
'label' => 'Your first name:',
'required' => true,
'validators' => array(
array('regex', false, array(
'pattern' => '{The pattern}',
'messages' => 'Your firvalidation message'))
)
));
我相信您正在寻找一种方法来验证特定格式的大量逗号分隔(中间有或没有空格)日期。
您可以使用
'pattern'=>'/^(\d{4}-\d{2}-\d{2})(?:,\s*(?1))*$/'
详情:
^
- 字符串开头
(\d{4}-\d{2}-\d{2})
- 您的单一日期字符串模式:4 位数字,-
,2 位数字,-
和 2 位数字
(?:,\s*(?1))*
- 零个或多个序列
,
- 逗号
\s*
- 0+ 个空格
(?1)
- 与第 1 组相同的模式(您的特定日期模式)
$
- 字符串结尾(可以替换为 \z
以禁止在末尾使用换行符)
我使用 multidatepicker select 进行字段输入,multidatepicker 在字段中输入日期,例如:2016-10-02
、2016-10-13
、2016-10-25
。
如何验证所有日期或一个日期,也许我可以使用数组正则表达式验证器(如果存在)?
$element_edit->addValidator ('regex', false, array(
'pattern'=>'/^\d{4}-\d{2}-\d{2}$/',//for only one
'messages'=>array(
'regexNotMatch'=>'Validate error')
)
);
$form->addElement($element_edit);
这很简单。我们在工作中使用 Zend,所以我经常处理它。
$this->addElement('text', 'firstname', array(
'label' => 'Your first name:',
'required' => true,
'validators' => array(
array('regex', false, array(
'pattern' => '{The pattern}',
'messages' => 'Your firvalidation message'))
)
));
我相信您正在寻找一种方法来验证特定格式的大量逗号分隔(中间有或没有空格)日期。
您可以使用
'pattern'=>'/^(\d{4}-\d{2}-\d{2})(?:,\s*(?1))*$/'
详情:
^
- 字符串开头(\d{4}-\d{2}-\d{2})
- 您的单一日期字符串模式:4 位数字,-
,2 位数字,-
和 2 位数字(?:,\s*(?1))*
- 零个或多个序列,
- 逗号\s*
- 0+ 个空格(?1)
- 与第 1 组相同的模式(您的特定日期模式)
$
- 字符串结尾(可以替换为\z
以禁止在末尾使用换行符)