繁体   English   中英

如何在laravel中验证电话号码?

[英]How to validate phone number in laravel?

我想验证电话号码字段并只允许以以下数字 77、71、73 开头的数字。

如何在我创建的请求中实现它?

public function rules()
    {
        return [
            'name'=>'required',
            'password'=>'required|min:6',
            'phone'=>'required|digits:9',
        ];
    }

你应该只是一个正则表达式解决方案,例如

 var numbers = [771234567, 128675309]; console.log(/^(?:71|73|77)\d{7}$/.test(numbers[0])); console.log(/^(?:71|73|77)\d{7}$/.test(numbers[1]));

您可以使用正则表达式来验证电话号码,例如:

'phone' => 'required|regex:/(01)[0-9]{9}/'

这将检查输入是否以 01 开头,后跟 9 个数字。 通过使用正则表达式,您不需要数字或大小验证规则。

一种可能的解决方案是使用正则表达式。

 'phone' => ['required', 'regex:/^((71)|(73)|(77))[0-9]{7}/']
  1. 我假设您的电话号码有 9 位,所以我使用 {7} // (71|73|77)2 位 + 7 位 = 9 位
  2. 请注意,当您想使用 OR 时,您应该使用数组而不是使用 | 分隔规则。

给出的其他答案非常好,但这取决于电话所使用的国家/地区因国家/地区而异,例如在尼日利亚,我们验证电话号码,例如

public function rules()
    {
        return [
            'name'=>'required',
            'password'=>'required|min:6',
            'phone'=>'required|regex:/^(080|091|090|070|081)+[0-9]{8}$/',
        ];
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM