Вход Регистрация
Файл: sngine-v2.8/Script/includes/libs/Faker/Faker/Provider/en_ZA/PhoneNumber.php
Строк: 82
<?php

namespace FakerProvideren_ZA;

class 
PhoneNumber extends FakerProviderPhoneNumber
{
    protected static 
$formats = array(
        
'+27({{areaCode}})#######',
        
'+27{{areaCode}}#######',
        
'0{{areaCode}}#######',
        
'0{{areaCode}} ### ####',
        
'0{{areaCode}}-###-####',
    );

    protected static 
$cellphoneFormats = array(
        
'+27{{cellphoneCode}}#######',
        
'0{{cellphoneCode}}#######',
        
'0{{cellphoneCode}} ### ####',
        
'0{{cellphoneCode}}-###-####',
    );

    protected static 
$specialFormats = array(
        
'{{specialCode}}#######',
        
'{{specialCode}} ### ####',
        
'{{specialCode}}-###-####',
        
'({{specialCode}})###-####',
    );

    protected static 
$tollFreeAreaCodes = array(
        
'0800', '0860', '0861', '0862',
    );

    
/**
     * @see https://en.wikipedia.org/wiki/Telephone_numbers_in_South_Africa
     */
    
public static function areaCode()
    {
        
$digits[] = self::numberBetween(1, 5);
        switch (
$digits[0]) {
            case 
1:
                
$digits[] = self::numberBetween(1, 8);
                break;
            case 
2:
                
$number = self::numberBetween(1, 8);
                
$digits[] = in_array($number, array(5, 6)) ? $number + 2 : $number;
                break;
            case 
3:
                
$number = self::numberBetween(1, 8);
                
$digits[] = in_array($number, array(7, 8)) ? $number - 2 : $number;
                break;
            case 
4:
                
$digits[] = self::numberBetween(1, 9);
                break;
            case 
5:
                
$number = self::numberBetween(1, 8);
                
$digits[] = in_array($number, array(2, 5)) ? $number + 2 : $number;
                break;
        }

        return 
implode('', $digits);
    }

    public static function 
cellphoneCode()
    {
        
$digits[] = self::numberBetween(6, 8);
        switch (
$digits[0]) {
            case 
6:
                
$digits[] = self::numberBetween(0, 2);
                break;
            case 
7:
                
$number = self::numberBetween(1, 9);
                
$digits[] = in_array($number, array(5, 7)) ? $number + 1 : $number;
                break;
            case 
8:
                
$digits[] = self::numberBetween(1, 9);
                break;
        }

        return 
implode('', $digits);
    }

    public static function 
specialCode()
    {
        return static::
randomElement(static::$tollFreeAreaCodes);
    }

    public function 
mobileNumber()
    {
        
$format = static::randomElement(static::$cellphoneFormats);

        return 
self::numerify($this->generator->parse($format));
    }

    public function 
tollFreeNumber()
    {
        
$format = static::randomElement(static::$specialFormats);

        return 
self::numerify($this->generator->parse($format));
    }
}
Онлайн: 1
Реклама