generalDesc = (new PhoneNumberDesc()) ->setNationalNumberPattern('(?:[17]\d\d|900)\d{6}|(?:2|80)0\d{6,7}|[4-6]\d{6,8}') ->setPossibleLength([7, 8, 9, 10]); $this->mobile = (new PhoneNumberDesc()) ->setNationalNumberPattern('(?:1(?:0[0-8]|1[0-7]|2[014]|30)|7\d\d)\d{6}') ->setExampleNumber('712123456') ->setPossibleLength([9]); $this->premiumRate = (new PhoneNumberDesc()) ->setNationalNumberPattern('900[02-9]\d{5}') ->setExampleNumber('900223456') ->setPossibleLength([9]); $this->fixedLine = (new PhoneNumberDesc()) ->setNationalNumberPattern('(?:4[245]|5[1-79]|6[01457-9])\d{5,7}|(?:4[136]|5[08]|62)\d{7}|(?:[24]0|66)\d{6,7}') ->setExampleNumber('202012345') ->setPossibleLength([7, 8, 9]); $this->numberFormat = [ (new NumberFormat()) ->setPattern('(\d{2})(\d{5,7})') ->setFormat('$1 $2') ->setLeadingDigitsPattern(['[24-6]']) ->setNationalPrefixFormattingRule('0$1') ->setNationalPrefixOptionalWhenFormatting(false), (new NumberFormat()) ->setPattern('(\d{3})(\d{6})') ->setFormat('$1 $2') ->setLeadingDigitsPattern(['[17]']) ->setNationalPrefixFormattingRule('0$1') ->setNationalPrefixOptionalWhenFormatting(false), (new NumberFormat()) ->setPattern('(\d{3})(\d{3})(\d{3,4})') ->setFormat('$1 $2 $3') ->setLeadingDigitsPattern(['[89]']) ->setNationalPrefixFormattingRule('0$1') ->setNationalPrefixOptionalWhenFormatting(false), ]; $this->tollFree = (new PhoneNumberDesc()) ->setNationalNumberPattern('800[02-8]\d{5,6}') ->setExampleNumber('800223456') ->setPossibleLength([9, 10]); $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(); } }