Skip to content

Commit

Permalink
Add E164 Ukrainian phone numbers (#357)
Browse files Browse the repository at this point in the history
  • Loading branch information
punyflash committed Aug 4, 2021
1 parent 6521488 commit 4e3bc9d
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 0 deletions.
21 changes: 21 additions & 0 deletions src/Faker/Provider/uk_UA/PhoneNumber.php
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,25 @@ class PhoneNumber extends \Faker\Provider\PhoneNumber
'+38(0###)######',
'+38(0####)#####',
];

/**
* @see Detailed numbering scheme. Source: https://www.itu.int/oth/T02020000DB/en
*/
protected static $e164Formats = [
'+38050#######',
'+38066#######',
'+38068#######',
'+38096#######',
'+38067#######',
'+38091#######',
'+38092#######',
'+38093#######',
'+38094#######',
'+38095#######',
'+38096#######',
'+38097#######',
'+38098#######',
'+38063#######',
'+38099#######',
];
}
11 changes: 11 additions & 0 deletions test/Faker/Provider/uk_UA/PhoneNumberTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,17 @@ public function testPhoneNumberFormat()
);
}

public function testE164PhoneNumberFormat()
{
$pattern = '/^\+?380[1-9]\d{8}$/';
$phoneNumber = $this->faker->e164PhoneNumber;
self::assertSame(
preg_match($pattern, $phoneNumber),
1,
'Phone number format ' . $phoneNumber . ' is wrong!'
);
}

protected function getProviders(): iterable
{
yield new PhoneNumber($this->faker);
Expand Down

0 comments on commit 4e3bc9d

Please sign in to comment.