首页 > 解决方案 > 如何在 Laravel 中使用正则表达式的多个验证规则?

问题描述

我目前正在为马来西亚公民开发系统,因此我需要一种基于马来西亚的电话号码格式。例如,电话号码如下所示:0161234567、0181234567、0191234567。基本上,它会以 01 开头,长度在 10 到 11 个数字之间。为此,我正在使用以下代码:

$rules = [
    'phone_no'=>'required|regex:/^01\d{8,9}$/',
    ];

$messages = [
    'phone_no.required' => 'Phone Number is required',
    'phone_no.regex' => 'Phone Number format is incorrect',
    ];

但是,我们可以使用另一种格式,即 07(用于家庭或办公室电话号码)。这是我的问题。我不知道如何为正则表达式设置多个验证规则。希望有人能帮我弄清楚。

标签: phpregexlaravelvalidation

解决方案


除非有更多要求,否则只需指定一种模式或|另一种模式。将它们分组()

/^(01\d{8,9})|(07\d{7})$/
  • 01和 8 位或 9 位数字{8,9}

或者|

  • 07和 7 位数字{7}

推荐阅读