早上好,我有此表单元素
<?php echo new \App\Http\Render\Form\Element\Text([
'value' => (isset($this->entity['str'])) ? $this->entity['str'] : '',
'elementName' => 'item[str]',
'elementID' => 'str',
'required' => true,
'class' => 'form-control',
'attributes' => [
'data-msg-required' => 'Bitte geben Sie Ihre Straße inkl. Hausnummer an.',//Bitte geben Sie Ihre Straße ein.
'regex' => "[/.*?(\d+)$/]",
'data-rule-minlength'=>"6",
'data-msg-minlength' => 'Bitte verwenden Sie keine Zahlen und Sonderzeichen.',
'data-msg-regex' => 'Bitte geben Sie Ihre Straße inkl. Hausnummer an.',
],
'placeholder'=>" "
]) ?>
如您所见,当字符串后面是数字epsen时,我使用正则表达式记下错误。请告诉我为什么在字符串后面加点后为什么看不到错误?像这种情况下,“ Strabe”。当字符串末尾的字符串中没有数字时,如何设置正则表达式以记录错误?
答案 0 :(得分:-1)
您的正则表达式模式[/.*?(\d+)$/]
包含在[
和]
中,这意味着一类字符,因此包含方括号之间任何字符的字符串将与您的正则表达式模式,包括点.
。也不需要将斜线(/
)作为附件。
您应该只写'regex' => ".*?(\d+)$"
。