Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 为什么在尝试在不同的领域使用模式后,依赖的dropdownlist就消失了?_Regex_Yii2 - Fatal编程技术网

Regex 为什么在尝试在不同的领域使用模式后,依赖的dropdownlist就消失了?

Regex 为什么在尝试在不同的领域使用模式后,依赖的dropdownlist就消失了?,regex,yii2,Regex,Yii2,这里的情况很奇怪。我有一个相关的下拉列表,下一个字段是客户电话。在该字段中,我使用此模式仅允许数字加上+符号: ['customer_phone', 'match', 'pattern' => '/[0-9+]', ], 但在键入此模式后,我的下拉列表不见了。其他模式工作正常,但这,不知何故-不。有人能告诉我为什么吗?Yii2需要类似于PHP的regexp,因此,应该有两个regex分隔符,并且由于您在开始时定义了/,因此必须在结尾使用相同的分隔符 如果需要匹配一个字符串,该字符

这里的情况很奇怪。我有一个相关的
下拉列表
,下一个字段是
客户电话
。在该字段中,我使用此模式仅允许数字加上
+
符号:

['customer_phone', 'match',
    'pattern' => '/[0-9+]',
],

但在键入此模式后,我的
下拉列表
不见了。其他模式工作正常,但这,不知何故-不。有人能告诉我为什么吗?

Yii2需要类似于PHP的regexp,因此,应该有两个regex分隔符,并且由于您在开始时定义了
/
,因此必须在结尾使用相同的分隔符

如果需要匹配一个字符串,该字符串可能以可选的
+
开头,然后有1+个数字,则需要使用

'/^[+]?[0-9]+$/'
这里,

  • ^
    -匹配字符串的开头
  • [+]?
    -1或0加上符号(因为
    量词匹配1或0个匹配项,将
    +
    放置在
    […]
    内部,使其保持不被替换)
  • [0-9]+
    -1+位(因为
    +
    量词匹配一个或多个匹配项)
  • $
    -字符串结尾

试试
'/[0-9+]/'
或者甚至
'/^[0-9+]+$/'
呃,第一种方法有效。但是regex是否可以只允许一个+符号?只有数字加上一个+符号。我需要这个,因为在activeform中它可能会像这样发生:+code>'/^[+]?[0-9]+$/'起作用了?是的,它起作用了!非常感谢。