Skip to content

Commit 954e02a

Browse files
committed
Support 18 countries for landline validation
1 parent 7615da2 commit 954e02a

16 files changed

+224
-0
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?php
2+
3+
namespace Milwad\LaravelValidate\Utils\CountryLandlineValidator;
4+
5+
class CMLandlineValidator implements CountryLandlineValidator
6+
{
7+
/**
8+
* Validate Cameroon landline numbers.
9+
*/
10+
public function validate($value): bool
11+
{
12+
return preg_match('/^(?:(?:\+237|00237)[\s-]?2\d{8}|2\d{8})$/', $value);
13+
}
14+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?php
2+
3+
namespace Milwad\LaravelValidate\Utils\CountryLandlineValidator;
4+
5+
class ENLandlineValidator implements CountryLandlineValidator
6+
{
7+
/**
8+
* Validate England landline numbers.
9+
*/
10+
public function validate($value): bool
11+
{
12+
return preg_match('/^(?:(?:\+44|0044)\s?(?:1\d{9}|2\d{9})|0(?:1\d{9}|2\d{9}))$/', $value);
13+
}
14+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?php
2+
3+
namespace Milwad\LaravelValidate\Utils\CountryLandlineValidator;
4+
5+
class ESLandlineValidator implements CountryLandlineValidator
6+
{
7+
/**
8+
* Validate Spain landline numbers.
9+
*/
10+
public function validate($value): bool
11+
{
12+
return preg_match('/^(?:(?:\+34|0034)?\s?[89]\d{8})$/', $value);
13+
}
14+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?php
2+
3+
namespace Milwad\LaravelValidate\Utils\CountryLandlineValidator;
4+
5+
class FRLandlineValidator implements CountryLandlineValidator
6+
{
7+
/**
8+
* Validate France landline numbers.
9+
*/
10+
public function validate($value): bool
11+
{
12+
return preg_match('/^(?:(?:\+33|0033)\s?[1-5]\d{8}|0[1-5]\d{8})$/', $value);
13+
}
14+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?php
2+
3+
namespace Milwad\LaravelValidate\Utils\CountryLandlineValidator;
4+
5+
class GRLandlineValidator implements CountryLandlineValidator
6+
{
7+
/**
8+
* Validate Greece landline numbers.
9+
*/
10+
public function validate($value): bool
11+
{
12+
return preg_match('/^(?:(?:\+30|0030)\s?[2]\d{9}|0[2]\d{9})$/', $value);
13+
}
14+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?php
2+
3+
namespace Milwad\LaravelValidate\Utils\CountryLandlineValidator;
4+
5+
class IDLandlineValidator implements CountryLandlineValidator
6+
{
7+
/**
8+
* Validate Indonesia landline numbers.
9+
*/
10+
public function validate($value): bool
11+
{
12+
return preg_match('/^(?:(?:\+62|0062)[\s\-]?21\d{7,8}|(?:\+62|0062)[\s\-]?[2-9]\d{1,3}\d{5,8}|0[2-9]\d{1,3}\d{5,8})$/', $value);
13+
}
14+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?php
2+
3+
namespace Milwad\LaravelValidate\Utils\CountryLandlineValidator;
4+
5+
class INLandlineValidator implements CountryLandlineValidator
6+
{
7+
/**
8+
* Validate India landline numbers.
9+
*/
10+
public function validate($value): bool
11+
{
12+
return preg_match('/^(?:(?:\+91|0091)[\s\-]?0?[1-6]\d{1,4}\d{6,8}|0[1-6]\d{1,4}\d{6,8})$/', $value);
13+
}
14+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?php
2+
3+
namespace Milwad\LaravelValidate\Utils\CountryLandlineValidator;
4+
5+
class ITLandlineValidator implements CountryLandlineValidator
6+
{
7+
/**
8+
* Validate Italy landline numbers.
9+
*/
10+
public function validate($value): bool
11+
{
12+
return preg_match('/^(?:(?:\+39|0039)[\s\-]?0\d{5,10}|0\d{5,10})$/', $value);
13+
}
14+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?php
2+
3+
namespace Milwad\LaravelValidate\Utils\CountryLandlineValidator;
4+
5+
class JALandlineValidator implements CountryLandlineValidator
6+
{
7+
/**
8+
* Validate Japan landline numbers.
9+
*/
10+
public function validate($value): bool
11+
{
12+
return preg_match('/^(?:(?:\+81|0081)[\s\-]?0?[1-9]\d{1,3}\d{4,6}|0[1-9]\d{1,3}\d{4,6})$/', $value);
13+
}
14+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?php
2+
3+
namespace Milwad\LaravelValidate\Utils\CountryLandlineValidator;
4+
5+
class KOLandlineValidator implements CountryLandlineValidator
6+
{
7+
/**
8+
* Validate South Korean landline numbers.
9+
*/
10+
public function validate($value): bool
11+
{
12+
return preg_match('/^(?:(?:\+82|0082)[\s\-]?0?[2-6]\d{1,2}\d{6,8}|0[2-6]\d{1,2}\d{6,8})$/', $value);
13+
}
14+
}

0 commit comments

Comments
 (0)