【发布时间】:2018-06-05 14:52:32
【问题描述】:
我有一个控制器和一个模型,必须在存储过程之前验证数据。
我尝试通过正则表达式验证电话号码(在我的模型中,$rules)。
'phone' => array(
'required',
'regex:/(\+41)\s(\d{2})\s(\d{3})\s(\d{2})\s(\d{2})/',
),
当我测试它(邮递员)时,它返回:{"error":{"phone":["The phone format is invalid."]}}
这是电话号码(瑞士):+41 79 228 95 16
首先我在 https://regexr.com 上尝试了我的正则表达式,我的号码似乎与它完全匹配。
这是我的问题:
这个正则表达式的 laravel 和我在 regexr.com 上测试的 PHP 的正则表达式有什么不同吗?
谢谢!!
【问题讨论】:
-
有时可能由于 \ 是转义字符而发生,您可以尝试对所有 \ 进行 \\+41 等操作,以确保按预期对它们进行评估。
-
@Mikey 感谢您的回答但它不会改变任何东西
-
很难说没有看到其余部分,但这也可能是由于
regex:它可能将其视为分隔符,并且由于它最终没有被复制 - 它可能相信模式尚未结束。 -
验证对我有用。你的控制器代码是什么?
标签: php regex laravel validation model