generalDesc = (new PhoneNumberDesc()) ->setNationalNumberPattern('[1-9]\d{8}') ->setPossibleLength([9]); $this->mobile = (new PhoneNumberDesc()) ->setNationalNumberPattern('(?:6(?:[0-24-8]\d|3[0-8]|9[589])|7[3-9]\d)\d{6}') ->setExampleNumber('612345678'); $this->premiumRate = (new PhoneNumberDesc()) ->setNationalNumberPattern('836(?:0[0-36-9]|[1-9]\d)\d{4}|8(?:1[2-9]|2[2-47-9]|3[0-57-9]|[569]\d|8[0-35-9])\d{6}') ->setExampleNumber('891123456'); $this->fixedLine = (new PhoneNumberDesc()) ->setNationalNumberPattern('(?:26[013-9]|59[1-35-9])\d{6}|(?:[13]\d|2[0-57-9]|4[1-9]|5[0-8])\d{7}') ->setExampleNumber('123456789'); $this->numberFormat = [ (new NumberFormat()) ->setPattern('(\d{4})') ->setFormat('$1') ->setLeadingDigitsPattern(['10']) ->setNationalPrefixOptionalWhenFormatting(false), (new NumberFormat()) ->setPattern('(\d{3})(\d{3})') ->setFormat('$1 $2') ->setLeadingDigitsPattern(['1']) ->setNationalPrefixOptionalWhenFormatting(false), (new NumberFormat()) ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') ->setFormat('$1 $2 $3 $4') ->setLeadingDigitsPattern(['8']) ->setNationalPrefixFormattingRule('0 $1') ->setNationalPrefixOptionalWhenFormatting(false), (new NumberFormat()) ->setPattern('(\d)(\d{2})(\d{2})(\d{2})(\d{2})') ->setFormat('$1 $2 $3 $4 $5') ->setLeadingDigitsPattern(['[1-79]']) ->setNationalPrefixFormattingRule('0$1') ->setNationalPrefixOptionalWhenFormatting(false), ]; $this->tollFree = (new PhoneNumberDesc()) ->setNationalNumberPattern('80[0-5]\d{6}') ->setExampleNumber('801234567'); $this->sharedCost = (new PhoneNumberDesc()) ->setNationalNumberPattern('8(?:1[01]|2[0156]|4[024]|84)\d{6}') ->setExampleNumber('884012345'); $this->personalNumber = PhoneNumberDesc::empty(); $this->voip = (new PhoneNumberDesc()) ->setNationalNumberPattern('9\d{8}') ->setExampleNumber('912345678'); $this->pager = PhoneNumberDesc::empty(); $this->uan = (new PhoneNumberDesc()) ->setNationalNumberPattern('80[6-9]\d{6}') ->setExampleNumber('806123456'); $this->voicemail = PhoneNumberDesc::empty(); $this->noInternationalDialling = PhoneNumberDesc::empty(); $this->intlNumberFormat = [ (new NumberFormat()) ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') ->setFormat('$1 $2 $3 $4') ->setLeadingDigitsPattern(['8']) ->setNationalPrefixFormattingRule('0 $1') ->setNationalPrefixOptionalWhenFormatting(false), (new NumberFormat()) ->setPattern('(\d)(\d{2})(\d{2})(\d{2})(\d{2})') ->setFormat('$1 $2 $3 $4 $5') ->setLeadingDigitsPattern(['[1-79]']) ->setNationalPrefixFormattingRule('0$1') ->setNationalPrefixOptionalWhenFormatting(false), ]; } }