5 使用 RegEx 验证保加利亚 phone 号码

5 Validation with RegEx for Bulgarian phone numbers

我想使用以下 RegEx 验证规则检查 laravel 5 表单中的 phone 字段:

(\+359|0)\s?8(\d{2}\s\d{3}\d{3}|[789]\d{7})

我试过这个:

'phone' => 'required|regex:(\+359|0)\s?8(\d{2}\s\d{3}\d{3}|[789]\d{7})'

但我的表单没有接受此验证。我认为我的正则表达式中缺少某些东西。

您的正则表达式周围需要分隔符(在我的示例中,/):

'phone' => 'required|regex:/^(\+359|0)\s?8(\d{2}\s\d{3}\d{3}|[789]\d{7})$/

只需添加

<?php 
 return ['phone'      => 'required|regex:/^\+?[^a-zA-Z]{5,}$/'];
?>

我认为这已经足够了。如果没有例子是什么格式,使用可以添加 phone 数字,如:

+359878XXX, +359 878 XXX, +359 87 8X XX, +(359) 878 XXX, 0878-XX-XX-XX.

您可以使用 Laravel-Phone 包进行验证、格式化和更多功能。

在你的情况下,你可以像这样指定你的国家:

'phone' => 'required|phone:BG'

BG = 保加利亚