generalDesc = (new PhoneNumberDesc()) ->setNationalNumberPattern('[23]\d{9}|3\d{8}|(?:[235-8]\d|41)\d{6}') ->setPossibleLengthLocalOnly([6]) ->setPossibleLength([8, 9, 10]); $this->mobile = (new PhoneNumberDesc()) ->setNationalNumberPattern('(?:20(?:[23579]\d|8[78])|30[24]\d)\d{6}|30\d{7}') ->setExampleNumber('2023123456') ->setPossibleLength([9, 10]); $this->premiumRate = PhoneNumberDesc::empty(); $this->fixedLine = (new PhoneNumberDesc()) ->setNationalNumberPattern('(?:2[13]|[35-7][14]|41|8[1468])\d{6}') ->setExampleNumber('21212862') ->setPossibleLengthLocalOnly([6]) ->setPossibleLength([8]); $this->numberFormat = [ (new NumberFormat()) ->setPattern('(\d{2})(\d{3})(\d{3})') ->setFormat('$1 $2 $3') ->setLeadingDigitsPattern(['2[13]|3[14]|[4-8]']) ->setNationalPrefixFormattingRule('0$1') ->setNationalPrefixOptionalWhenFormatting(false), (new NumberFormat()) ->setPattern('(\d{2})(\d{2})(\d{2})(\d{3})') ->setFormat('$1 $2 $3 $4') ->setLeadingDigitsPattern(['3']) ->setNationalPrefixFormattingRule('0$1') ->setNationalPrefixOptionalWhenFormatting(false), (new NumberFormat()) ->setPattern('(\d{2})(\d{2})(\d{3})(\d{3})') ->setFormat('$1 $2 $3 $4') ->setLeadingDigitsPattern(['[23]']) ->setNationalPrefixFormattingRule('0$1') ->setNationalPrefixOptionalWhenFormatting(false), ]; $this->tollFree = PhoneNumberDesc::empty(); $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(); } }