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 = 保加利亚
我想使用以下 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 = 保加利亚