generalDesc = (new PhoneNumberDesc()) ->setNationalNumberPattern('[027-9]\d{7}') ->setPossibleLength([8]); $this->mobile = (new PhoneNumberDesc()) ->setNationalNumberPattern('(?:23|7[0467]|[89]\d)\d{6}') ->setExampleNumber('93123456'); $this->premiumRate = (new PhoneNumberDesc()) ->setNationalNumberPattern('09\d{6}') ->setExampleNumber('09123456'); $this->fixedLine = (new PhoneNumberDesc()) ->setNationalNumberPattern('2(?:0(?:20|3[1-8]|4[13-5]|5[14]|6[14578]|7[1-578])|1(?:4[145]|5[14]|6[14-68]|7[169]|88))\d{4}') ->setExampleNumber('20201234'); $this->numberFormat = [ (new NumberFormat()) ->setPattern('(\d{2})(\d{3})(\d{3})') ->setFormat('$1 $2 $3') ->setLeadingDigitsPattern(['08']) ->setNationalPrefixOptionalWhenFormatting(false), (new NumberFormat()) ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') ->setFormat('$1 $2 $3 $4') ->setLeadingDigitsPattern(['[089]|2[013]|7[0467]']) ->setNationalPrefixOptionalWhenFormatting(false), ]; $this->tollFree = (new PhoneNumberDesc()) ->setNationalNumberPattern('08\d{6}') ->setExampleNumber('08123456'); $this->sharedCost = PhoneNumberDesc::empty(); $this->personalNumber = PhoneNumberDesc::empty(); $this->voip = PhoneNumberDesc::empty(); $this->pager = PhoneNumberDesc::empty(); $this->uan = PhoneNumberDesc::empty(); $this->voicemail = PhoneNumberDesc::empty(); $this->noInternationalDialling = PhoneNumberDesc::empty(); } }