PhoneNumber
extends PhoneNumber
in package
Tags
Table of Contents
- $areaCodes : mixed
- $e164Formats : mixed
- $fixedLineFormats : mixed
- $formats : mixed
- $generator : Generator
- $internationalCallPrefixes : mixed
- $mobileCodes : mixed
- $mobileFormats : mixed
- $personalFormats : mixed
- $premiumRateCodes : mixed
- $premiumRateFormats : mixed
- $sharedCostCodes : mixed
- $sharedCostFormats : mixed
- $tollFreeFormats : mixed
- $unique : UniqueGenerator
- __construct() : mixed
- areaCode() : string
- Generate an area code for a fixed line number.
- asciify() : string
- Replaces * signs with random numbers and letters and special characters
- bothify() : string
- Replaces hash signs ('#') and question marks ('?') with random numbers and letters An asterisk ('*') is replaced with either a random number or a random letter
- e164PhoneNumber() : string
- fixedLineNumber() : string
- Generate a fixed line number.
- imei() : int
- International Mobile Equipment Identity (IMEI)
- lexify() : string
- Replaces all question mark ('?') occurrences with a random letter
- mobileNumber() : string
- Generate a mobile number.
- mobilePhoneNumber() : mixed
- numberBetween() : int
- Returns a random number between $int1 and $int2 (any order)
- numerify() : string
- Replaces all hash sign ('#') occurrences with a random number Replaces all percentage sign ('%') occurrences with a not null number
- optional() : mixed|null
- Chainable method for making any formatter optional.
- passthrough() : mixed
- Returns the passed value
- personalNumber() : string
- Generate a personal number.
- phoneNumber() : string
- premiumRateNumber() : string
- Generate a premium-rate number.
- randomAscii() : string
- Returns a random ASCII character (excluding accents and special chars)
- randomDigit() : int
- Returns a random number between 0 and 9
- randomDigitNot() : int
- Generates a random digit, which cannot be $except
- randomDigitNotNull() : int
- Returns a random number between 1 and 9
- randomElement() : mixed
- Returns a random element from a passed array
- randomElements() : array<string|int, mixed>
- Returns randomly ordered subsequence of $count elements from a provided array
- randomFloat() : float
- Return a random float number
- randomKey() : int|string|null
- Returns a random key from a passed associative array
- randomLetter() : string
- Returns a random letter from a to z
- randomNumber() : int
- Returns a random integer with 0 to $nbDigits digits.
- regexify() : string
- Transforms a basic regular expression into a random string satisfying the expression.
- sharedCostNumber() : string
- Generate a shared-cost number.
- shuffle() : array<string|int, mixed>|string
- Returns a shuffled version of the argument.
- shuffleArray() : array<string|int, mixed>
- Returns a shuffled version of the array.
- shuffleString() : string
- Returns a shuffled version of the string.
- tollFreeNumber() : string
- Generate a toll-free number.
- toLower() : string
- Converts string to lowercase.
- toUpper() : string
- Converts string to uppercase.
- unique() : UniqueGenerator
- Chainable method for making any formatter unique.
- valid() : ValidGenerator
- Chainable method for forcing any formatter to return only valid values.
- replaceWildcard() : mixed
Properties
$areaCodes
protected
static mixed
$areaCodes
= [
// Zone 22: Central Greece and the Aegean Islands
2221,
2222,
2223,
2224,
2226,
2227,
2228,
2229,
2231,
2232,
2233,
2234,
2235,
2236,
2237,
2238,
2241,
2242,
2243,
2244,
2245,
2246,
2247,
2251,
2252,
2253,
2254,
2261,
2262,
2263,
2264,
2265,
2266,
2267,
2268,
2271,
2272,
2273,
2274,
2275,
2281,
2282,
2283,
2284,
2285,
2286,
2287,
2288,
2289,
2291,
2292,
2293,
2294,
2295,
2296,
2297,
2298,
2299,
// Zone 23: Central Macedonia and Florina
231,
2321,
2322,
2323,
2324,
2325,
2327,
2331,
2332,
2333,
2341,
2343,
2351,
2352,
2353,
2371,
2372,
2373,
2374,
2375,
2376,
2377,
2381,
2382,
2384,
2385,
2386,
2391,
2392,
2393,
2394,
2395,
2396,
2397,
2399,
// Zone 24: Thessaly and West Macedonia (excluding Florina)
241,
2421,
2422,
2423,
2424,
2425,
2426,
2427,
2428,
2431,
2432,
2433,
2434,
2441,
2443,
2444,
2445,
2461,
2462,
2463,
2464,
2465,
2467,
2468,
2491,
2492,
2493,
2494,
2495,
// Zone 25: East Macedonia and Thrace
251,
2521,
2522,
2523,
2524,
2531,
2532,
2533,
2534,
2535,
2541,
2542,
2544,
2591,
2592,
2593,
2594,
2551,
2552,
2553,
2554,
2555,
2556,
// Zone 26: West Greece, Ionian Island and Epirus
261,
2621,
2622,
2623,
2624,
2625,
2626,
2631,
2632,
2634,
2635,
2661,
2662,
2663,
2664,
2665,
2666,
2691,
2692,
2693,
2694,
2695,
2696,
2641,
2642,
2643,
2644,
2645,
2646,
2647,
2651,
2653,
2654,
2655,
2656,
2657,
2658,
2659,
2671,
2674,
2681,
2682,
2683,
2684,
2685,
// Zone 27: Peloponnese and Kythera
271,
2721,
2722,
2723,
2724,
2725,
2731,
2732,
2733,
2734,
2735,
2736,
2741,
2742,
2743,
2744,
2745,
2746,
2747,
2751,
2752,
2753,
2754,
2755,
2757,
2761,
2763,
2765,
2791,
2792,
2795,
2797,
// Zone 28: Crete
281,
2821,
2822,
2823,
2824,
2825,
2831,
2832,
2833,
2834,
2841,
2842,
2843,
2844,
2891,
2892,
2893,
2894,
2895,
2897,
]
$e164Formats
protected
static mixed
$e164Formats
= ['+1##########', '+7##########', '+20##########', '+27##########', '+30##########', '+31##########', '+32#########', '+33#########', '+34#########', '+36#########', '+39##########', '+40#########', '+41#########', '+43##########', '+44##########', '+45########', '+46##########', '+47########', '+48##########', '+49##########', '+51#########', '+52##########', '+53##########', '+54##########', '+55#########', '+56##########', '+57##########', '+58##########', '+60##########', '+61##########', '+62##########', '+63##########', '+64##########', '+65##########', '+66##########', '+81##########', '+82##########', '+84##########', '+86##########', '+90##########', '+91##########', '+92##########', '+93#########', '+94#########', '+95##########', '+98##########', '+211#########', '+212#########', '+213#########', '+216########', '+218#########', '+220#######', '+221#########', '+222########', '+223########', '+224#########', '+225##########', '+226########', '+227########', '+228########', '+229########', '+230########', '+231#########', '+232########', '+233#########', '+234##########', '+235########', '+236########', '+237#########', '+238#######', '+239#######', '+240#########', '+241########', '+242#########', '+243#########', '+244#########', '+245#########', '+246#######', '+247######', '+248#######', '+249#########', '+250#########', '+251#########', '+252#########', '+253########', '+254##########', '+255#########', '+256#########', '+257########', '+258#########', '+260#########', '+261#########', '+262#########', '+263##########', '+264#########', '+265#########', '+266########', '+267##########', '+268#########', '+269#######', '+290#####', '+291#######', '+297#######', '+298######', '+299######', '+350########', '+351#########', '+352##########', '+353##########', '+354#########', '+355#########', '+356########', '+357########', '+358##########', '+359#########', '+370########', '+371########', '+372##########', '+373########', '+374########', '+375##########', '+376#########', '+377#########', '+378##########', '+380##########', '+381##########', '+382#########', '+383#########', '+385#########', '+386########', '+387#########', '+389########', '+420#########', '+421#########', '+423#########', '+500#####', '+501#######', '+502########', '+503########', '+504########', '+505########', '+506########', '+507##########', '+508#########', '+509########', '+590#########', '+591#########', '+592#######', '+593##########', '+594#########', '+595##########', '+596#########', '+597#######', '+598##########', '+599########', '+670########', '+672######', '+673#######', '+674#######', '+675########', '+676#######', '+677#######', '+678#######', '+679#######', '+680#######', '+681#########', '+682#####', '+683#######', '+685##########', '+686########', '+687######', '+688#######', '+689#########', '+690#######', '+691#######', '+692#######', '+800########', '+808########', '+850##########', '+852#########', '+853########', '+855##########', '+856##########', '+870#########', '+878############', '+880##########', '+881#########', '+882##########', '+883#########', '+886##########', '+888###########', '+960##########', '+961########', '+962#########', '+963#########', '+964##########', '+965########', '+966##########', '+967#########', '+968#########', '+970##########', '+971##########', '+972##########', '+973########', '+974########', '+975########', '+976##########', '+977##########', '+979#########', '+992#########', '+993########', '+994#########', '+995#########', '+996#########', '+998#########']
Tags
$fixedLineFormats
protected
static mixed
$fixedLineFormats
= ['{{internationalCodePrefix}}21########', '{{internationalCodePrefix}} 21# ### ####', '{{internationalCodePrefix}}{{areaCode}}######', '{{internationalCodePrefix}} {{areaCode}} ######']
$formats
protected
static mixed
$formats
= ['{{fixedLineNumber}}', '{{mobileNumber}}', '{{personalNumber}}', '{{tollFreeNumber}}', '{{sharedCostNumber}}', '{{premiumRateNumber}}']
$generator
protected
Generator
$generator
$internationalCallPrefixes
protected
static mixed
$internationalCallPrefixes
= ['', '+30']
$mobileCodes
protected
static mixed
$mobileCodes
= [685, 687, 688, 689, 690, 691, 693, 694, 695, 696, 697, 698, 699]
$mobileFormats
protected
static mixed
$mobileFormats
= ['{{internationalCodePrefix}}{{mobileCode}}#######', '{{internationalCodePrefix}} {{mobileCode}} ### ####']
$personalFormats
protected
static mixed
$personalFormats
= ['{{internationalCodePrefix}}70########', '{{internationalCodePrefix}} 70 #### ####']
$premiumRateCodes
protected
static mixed
$premiumRateCodes
= [901, 909]
$premiumRateFormats
protected
static mixed
$premiumRateFormats
= ['{{internationalCodePrefix}}{{premiumRateCode}}#######', '{{internationalCodePrefix}} {{premiumRateCode}} ### ####']
$sharedCostCodes
protected
static mixed
$sharedCostCodes
= [801, 806, 812, 825, 850, 875]
$sharedCostFormats
protected
static mixed
$sharedCostFormats
= ['{{internationalCodePrefix}}{{sharedCostCode}}#######', '{{internationalCodePrefix}} {{sharedCostCode}} ### ####']
$tollFreeFormats
protected
static mixed
$tollFreeFormats
= ['{{internationalCodePrefix}}800#######', '{{internationalCodePrefix}} 800 ### ####']
$unique
protected
UniqueGenerator
$unique
Methods
__construct()
public
__construct(Generator $generator) : mixed
Parameters
- $generator : Generator
Return values
mixed —areaCode()
Generate an area code for a fixed line number.
public
static areaCode() : string
Doesn't include codes for Greater Athens Metropolitan Area (21#) because this zone uses 3 digits, and phone numbers have a different formatting.
Area codes in all the other zones use 4 digits. The capital of each zone uses 3 digits and the 4th digit can be any number. The other areas in each zone use 4 digits, but not every number is valid for the 4th digit.
Tags
Return values
string —asciify()
Replaces * signs with random numbers and letters and special characters
public
static asciify([string $string = '****' ]) : string
Parameters
- $string : string = '****'
-
String that needs to bet parsed
Tags
Return values
string —bothify()
Replaces hash signs ('#') and question marks ('?') with random numbers and letters An asterisk ('*') is replaced with either a random number or a random letter
public
static bothify([string $string = '## ??' ]) : string
Parameters
- $string : string = '## ??'
-
String that needs to bet parsed
Return values
string —e164PhoneNumber()
public
e164PhoneNumber() : string
Tags
Return values
string —fixedLineNumber()
Generate a fixed line number.
public
fixedLineNumber() : string
Numbers can be generated with or without the international code prefix. Numbers can be generated with or without spaces between their parts. Numbers in Athens use a 3-digit area code, and can be formatted as 21# ### ####. Numbers in other areas use a 4-digit area code, and can be formatted as 2### ### ###.
Tags
Return values
string —imei()
International Mobile Equipment Identity (IMEI)
public
imei() : int
Tags
Return values
int —$imei
lexify()
Replaces all question mark ('?') occurrences with a random letter
public
static lexify([string $string = '????' ]) : string
Parameters
- $string : string = '????'
-
String that needs to bet parsed
Return values
string —mobileNumber()
Generate a mobile number.
public
mobileNumber() : string
Tags
Return values
string —mobilePhoneNumber()
public
static mobilePhoneNumber() : mixed
Tags
Return values
mixed —numberBetween()
Returns a random number between $int1 and $int2 (any order)
public
static numberBetween(int $int1[, int $int2 = 2147483647 ]) : int
Parameters
- $int1 : int
-
default to 0
- $int2 : int = 2147483647
-
defaults to 32 bit max integer, ie 2147483647
Tags
Return values
int —numerify()
Replaces all hash sign ('#') occurrences with a random number Replaces all percentage sign ('%') occurrences with a not null number
public
static numerify([string $string = '###' ]) : string
Parameters
- $string : string = '###'
-
String that needs to bet parsed
Return values
string —optional()
Chainable method for making any formatter optional.
public
optional([float|int $weight = 0.5 ][, mixed $default = null ]) : mixed|null
Parameters
- $weight : float|int = 0.5
-
Set the probability of receiving a null value. "0" will always return null, "1" will always return the generator. If $weight is an integer value, then the same system works between 0 (always get false) and 100 (always get true).
- $default : mixed = null
Return values
mixed|null —passthrough()
Returns the passed value
public
static passthrough(mixed $value) : mixed
Parameters
- $value : mixed
Return values
mixed —personalNumber()
Generate a personal number.
public
personalNumber() : string
Tags
Return values
string —phoneNumber()
public
phoneNumber() : string
Tags
Return values
string —premiumRateNumber()
Generate a premium-rate number.
public
premiumRateNumber() : string
Tags
Return values
string —randomAscii()
Returns a random ASCII character (excluding accents and special chars)
public
static randomAscii() : string
Return values
string —randomDigit()
Returns a random number between 0 and 9
public
static randomDigit() : int
Return values
int —randomDigitNot()
Generates a random digit, which cannot be $except
public
static randomDigitNot(int $except) : int
Parameters
- $except : int
Return values
int —randomDigitNotNull()
Returns a random number between 1 and 9
public
static randomDigitNotNull() : int
Return values
int —randomElement()
Returns a random element from a passed array
public
static randomElement([array<string|int, mixed> $array = ['a', 'b', 'c'] ]) : mixed
Parameters
- $array : array<string|int, mixed> = ['a', 'b', 'c']
Return values
mixed —randomElements()
Returns randomly ordered subsequence of $count elements from a provided array
public
static randomElements([array<string|int, mixed> $array = ['a', 'b', 'c'] ][, int $count = 1 ][, bool $allowDuplicates = false ]) : array<string|int, mixed>
Parameters
- $array : array<string|int, mixed> = ['a', 'b', 'c']
-
Array to take elements from. Defaults to a-c
- $count : int = 1
-
Number of elements to take.
- $allowDuplicates : bool = false
-
Allow elements to be picked several times. Defaults to false
Tags
Return values
array<string|int, mixed> —New array with $count elements from $array
randomFloat()
Return a random float number
public
static randomFloat([int $nbMaxDecimals = null ], float|int $min[, float|int $max = null ]) : float
Parameters
- $nbMaxDecimals : int = null
- $min : float|int
- $max : float|int = null
Tags
Return values
float —randomKey()
Returns a random key from a passed associative array
public
static randomKey([array<string|int, mixed> $array = [] ]) : int|string|null
Parameters
- $array : array<string|int, mixed> = []
Return values
int|string|null —randomLetter()
Returns a random letter from a to z
public
static randomLetter() : string
Return values
string —randomNumber()
Returns a random integer with 0 to $nbDigits digits.
public
static randomNumber([int $nbDigits = null ][, bool $strict = false ]) : int
The maximum value returned is mt_getrandmax()
Parameters
- $nbDigits : int = null
-
Defaults to a random number between 1 and 9
- $strict : bool = false
-
Whether the returned number should have exactly $nbDigits
Tags
Return values
int —regexify()
Transforms a basic regular expression into a random string satisfying the expression.
public
static regexify([string $regex = '' ]) : string
Parameters
- $regex : string = ''
-
A regular expression (delimiters are optional)
Tags
Return values
string —sharedCostNumber()
Generate a shared-cost number.
public
sharedCostNumber() : string
Tags
Return values
string —shuffle()
Returns a shuffled version of the argument.
public
static shuffle([array<string|int, mixed>|string $arg = '' ]) : array<string|int, mixed>|string
This function accepts either an array, or a string.
Parameters
- $arg : array<string|int, mixed>|string = ''
-
The set to shuffle
Tags
Return values
array<string|int, mixed>|string —The shuffled set
shuffleArray()
Returns a shuffled version of the array.
public
static shuffleArray([array<string|int, mixed> $array = [] ]) : array<string|int, mixed>
This function does not mutate the original array. It uses the Fisher–Yates algorithm, which is unbiased, together with a Mersenne twister random generator. This function is therefore more random than PHP's shuffle() function, and it is seedable.
Parameters
- $array : array<string|int, mixed> = []
-
The set to shuffle
Tags
Return values
array<string|int, mixed> —The shuffled set
shuffleString()
Returns a shuffled version of the string.
public
static shuffleString([string $string = '' ][, string $encoding = 'UTF-8' ]) : string
This function does not mutate the original string. It uses the Fisher–Yates algorithm, which is unbiased, together with a Mersenne twister random generator. This function is therefore more random than PHP's shuffle() function, and it is seedable. Additionally, it is UTF8 safe if the mb extension is available.
Parameters
- $string : string = ''
-
The set to shuffle
- $encoding : string = 'UTF-8'
-
The string encoding (defaults to UTF-8)
Tags
Return values
string —The shuffled set
tollFreeNumber()
Generate a toll-free number.
public
static tollFreeNumber() : string
Tags
Return values
string —toLower()
Converts string to lowercase.
public
static toLower([string $string = '' ]) : string
Uses mb_string extension if available.
Parameters
- $string : string = ''
-
String that should be converted to lowercase
Return values
string —toUpper()
Converts string to uppercase.
public
static toUpper([string $string = '' ]) : string
Uses mb_string extension if available.
Parameters
- $string : string = ''
-
String that should be converted to uppercase
Return values
string —unique()
Chainable method for making any formatter unique.
public
unique([bool $reset = false ][, int $maxRetries = 10000 ]) : UniqueGenerator
// will never return twice the same value
$faker->unique()->randomElement(array(1, 2, 3));
Parameters
- $reset : bool = false
-
If set to true, resets the list of existing values
- $maxRetries : int = 10000
-
Maximum number of retries to find a unique value, After which an OverflowException is thrown.
Tags
Return values
UniqueGenerator —A proxy class returning only non-existing values
valid()
Chainable method for forcing any formatter to return only valid values.
public
valid([Closure $validator = null ][, int $maxRetries = 10000 ]) : ValidGenerator
The value validity is determined by a function passed as first argument.
$values = array();
$evenValidator = function ($digit) {
return $digit % 2 === 0;
};
for ($i=0; $i < 10; $i++) {
$values []= $faker->valid($evenValidator)->randomDigit;
}
print_r($values); // [0, 4, 8, 4, 2, 6, 0, 8, 8, 6]
Parameters
- $validator : Closure = null
-
A function returning true for valid values
- $maxRetries : int = 10000
-
Maximum number of retries to find a unique value, After which an OverflowException is thrown.
Tags
Return values
ValidGenerator —A proxy class returning only valid values
replaceWildcard()
private
static replaceWildcard(mixed $string[, mixed $wildcard = '#' ][, mixed $callback = 'static::randomDigit' ]) : mixed
Parameters
- $string : mixed
- $wildcard : mixed = '#'
- $callback : mixed = 'static::randomDigit'