generalDesc = (new PhoneNumberDesc()) ->setNationalNumberPattern('[189]\d{8,9}|[24-6]\d{8}|[135]\d{7}') ->setPossibleLengthLocalOnly([6, 7]) ->setPossibleLength([8, 9, 10]); $this->mobile = (new PhoneNumberDesc()) ->setNationalNumberPattern('1[0-25]\d{8}') ->setExampleNumber('1001234567') ->setPossibleLength([10]); $this->premiumRate = (new PhoneNumberDesc()) ->setNationalNumberPattern('900\d{7}') ->setExampleNumber('9001234567') ->setPossibleLength([10]); $this->fixedLine = (new PhoneNumberDesc()) ->setNationalNumberPattern('13[23]\d{6}|(?:15|57)\d{6,7}|(?:2\d|3|4[05-8]|5[05]|6[24-689]|8[2468]|9[235-7])\d{7}') ->setExampleNumber('234567890') ->setPossibleLengthLocalOnly([6, 7]) ->setPossibleLength([8, 9]); $this->numberFormat = [ (new NumberFormat()) ->setPattern('(\d)(\d{7,8})') ->setFormat('$1 $2') ->setLeadingDigitsPattern(['[23]']) ->setNationalPrefixFormattingRule('0$1') ->setNationalPrefixOptionalWhenFormatting(false), (new NumberFormat()) ->setPattern('(\d{2})(\d{6,7})') ->setFormat('$1 $2') ->setLeadingDigitsPattern(['1[35]|[4-6]|8[2468]|9[235-7]']) ->setNationalPrefixFormattingRule('0$1') ->setNationalPrefixOptionalWhenFormatting(false), (new NumberFormat()) ->setPattern('(\d{3})(\d{3})(\d{4})') ->setFormat('$1 $2 $3') ->setLeadingDigitsPattern(['[89]']) ->setNationalPrefixFormattingRule('0$1') ->setNationalPrefixOptionalWhenFormatting(false), (new NumberFormat()) ->setPattern('(\d{2})(\d{8})') ->setFormat('$1 $2') ->setLeadingDigitsPattern(['1']) ->setNationalPrefixFormattingRule('0$1') ->setNationalPrefixOptionalWhenFormatting(false), ]; $this->tollFree = (new PhoneNumberDesc()) ->setNationalNumberPattern('800\d{7}') ->setExampleNumber('8001234567') ->setPossibleLength([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(); } }