在 Laravel 中验证电话号码

3 forms validation laravel laravel-5

我将如何验证 laravel 中的数字。

我需要以以下格式存储的数字 353861111111。

353 将是前缀,用户输入其余部分。如果用户输入086,则无效。

Jay*_*ree 5

您可以将正则表达式用作:

'phone' => 'required|regex:/(353)[0-9]{9}/'
Run Code Online (Sandbox Code Playgroud)

这将检查以开头的模式,353后跟9具有以下值的数字0-9

或者您可以在以下引导方法中构建自定义验证器AppServiceProvider.php

Validator::extend('phone_number', function($attribute, $value, $parameters)

    {
        return substr($value, 0, 3) == '353';
    });
Run Code Online (Sandbox Code Playgroud)

这将允许您在应用程序的任何地方使用 phone_number 验证规则,因此您的表单验证可以是:

'phone' => 'required|numeric|phone_number|size:11'
Run Code Online (Sandbox Code Playgroud)

在您的验证器扩展中,您还可以检查是否$value为数字和11字符长。