Skip to content
This repository has been archived by the owner on Dec 11, 2020. It is now read-only.

Commit

Permalink
Merge pull request #1054 from Kurre/patch-1
Browse files Browse the repository at this point in the history
[fi_FI] Improve phone number generator
  • Loading branch information
fzaninotto committed Oct 12, 2016
2 parents 66e2ffd + 8cdb51a commit d48cbf4
Showing 1 changed file with 90 additions and 11 deletions.
101 changes: 90 additions & 11 deletions src/Faker/Provider/fi_FI/PhoneNumber.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,96 @@

class PhoneNumber extends \Faker\Provider\PhoneNumber
{
/**
* @link https://www.viestintavirasto.fi/en/internettelephone/numberingoftelecommunicationsnetworks/localcallsandtelecommunicationsareas/mapoftelecommunicationsareas.html
* @var array
*/
protected static $landLineareaCodes = array(
'02',
'03',
'05',
'06',
'08',
'09',
'013',
'014',
'015',
'016',
'017',
'018',
'019',
);

/**
* @link https://www.viestintavirasto.fi/en/internettelephone/numberingoftelecommunicationsnetworks/mobilenetworks/mobilenetworkareacodes.html
* @var array
*/
protected static $mobileNetworkAreaCodes = array(
'040',
'050',
'044',
'045',
);

protected static $numberFormats = array(
'### ####',
'#######',
);

protected static $formats = array(
'+358 (40) ### ####',
'+358 (50) ### ####',
'+358 40 ### ####',
'+358 50 ### ####',
'040 ### ####',
'050 ### ####',
'###-########',
'### #######',
'040-#######',
'050-#######',
'(###) #######'
'+358 ({{ e164MobileNetworkAreaCode }}) {{ numberFormat }}',
'+358 {{ e164MobileNetworkAreaCode }} {{ numberFormat }}',
'+358 ({{ e164landLineAreaCode }}) {{ numberFormat }}',
'+358 {{ e164landLineAreaCode }} {{ numberFormat }}',
'{{ mobileNetworkAreaCode }}{{ separator }}{{ numberFormat }}',
'{{ landLineAreaCode }}{{ separator }}{{ numberFormat }}',
);

/**
* @return string
*/
public function landLineAreaCode()
{
return static::randomElement(static::$landLineareaCodes);
}

/**
* @return string
*/
public function e164landLineAreaCode()
{
return substr(static::randomElement(static::$landLineareaCodes), 1);
}

/**
* @return string
*/
public function mobileNetworkAreaCode()
{
return static::randomElement(static::$mobileNetworkAreaCodes);
}

/**
* @return string
*/
public function e164MobileNetworkAreaCode()
{
return substr(static::randomElement(static::$mobileNetworkAreaCodes), 1);
}

/**
* @return string
*/
public function numberFormat()
{
return static::randomElement(static::$numberFormats);
}

/**
* @return string
*/
public function separator()
{
return static::randomElement(array(' ', '-'));
}
}

0 comments on commit d48cbf4

Please sign in to comment.