diff --git a/src/Appwrite/Auth/Validator/Phone.php b/src/Appwrite/Auth/Validator/Phone.php index 32c3ca3398..def9a8bdc1 100644 --- a/src/Appwrite/Auth/Validator/Phone.php +++ b/src/Appwrite/Auth/Validator/Phone.php @@ -32,7 +32,7 @@ class Phone extends Validator */ public function isValid($value): bool { - return is_string($value) && !!\preg_match('/^\+[1-9]\d{1,14}$/', $value); + return is_string($value) && !!\preg_match('/^\+[1-9]\d{6,14}$/', $value); } /** diff --git a/tests/unit/Auth/Validator/PhoneTest.php b/tests/unit/Auth/Validator/PhoneTest.php index 7bfa8db477..d5a4e7f826 100644 --- a/tests/unit/Auth/Validator/PhoneTest.php +++ b/tests/unit/Auth/Validator/PhoneTest.php @@ -20,13 +20,20 @@ class PhoneTest extends TestCase $this->assertEquals($this->object->isValid(null), false); $this->assertEquals($this->object->isValid(''), false); $this->assertEquals($this->object->isValid('+1'), false); + $this->assertEquals($this->object->isValid('+14'), false); + $this->assertEquals($this->object->isValid('+141'), false); + $this->assertEquals($this->object->isValid('+1415'), false); + $this->assertEquals($this->object->isValid('+14155'), false); + $this->assertEquals($this->object->isValid('+141555'), false); $this->assertEquals($this->object->isValid('8989829304'), false); $this->assertEquals($this->object->isValid('786-307-3615'), false); $this->assertEquals($this->object->isValid('+16308A520397'), false); $this->assertEquals($this->object->isValid('+0415553452342'), false); $this->assertEquals($this->object->isValid('+14 155 5524564'), false); + $this->assertEquals($this->object->isValid('+1415555245634543'), false); $this->assertEquals($this->object->isValid(+14155552456), false); + $this->assertEquals($this->object->isValid('+1415555'), true); $this->assertEquals($this->object->isValid('+14155552'), true); $this->assertEquals($this->object->isValid('+141555526'), true); $this->assertEquals($this->object->isValid('+16308520394'), true);