diff --git a/app/Rules/PhoneNumber.php b/app/Rules/PhoneNumber.php
new file mode 100644
index 0000000..abcdef1
@@ -0,0 +1,32 @@
+<?php
+
+namespace App\Rules;
+
+use Illuminate\Contracts\Validation\Rule;
+
+class PhoneNumber implements Rule
+{
+ private string $country;
+
+ public function __construct(string $country = 'US')
+ {
+ $this->country = $country;
+ }
+
+ public function passes($attribute, $value): bool
+ {
+ $patterns = [
+ 'US' => '/^(\+1)?[2-9]\d{2}[2-9]\d{6}$/',
+ 'UK' => '/^(\+44)?[1-9]\d{9,10}$/',
+ 'DE' => '/^(\+49)?[1-9]\d{10,11}$/',
+ ];
+
+ return preg_match($patterns[$this->country] ?? $patterns['US'], $value);
+ }
+
+ public function message(): string
+ {
+ return 'The :attribute must be a valid phone number.';
+ }
+}