【问题标题】:laravel regex VS php regexlaravel 正则表达式 VS php 正则表达式
【发布时间】: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


【解决方案1】:

模式应该是/(\+41)\s[0-9]{2}\s[0-9]{3}\s[0-9]{2}\s[0-9]{2}$/

【讨论】:

  • 感谢它的工作!但我不明白为什么正则表达式在没有在线的情况下是正确的,但不在我的代码中......
猜你喜欢
  • 2010-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-29
  • 1970-01-01
  • 1970-01-01
  • 2014-04-23
  • 1970-01-01
相关资源
最近更新 更多