generalDesc = (new PhoneNumberDesc()) ->setNationalNumberPattern('(?:[1-4]|[5-79]\d|80)\d{7}') ->setPossibleLength([8, 9]); $this->mobile = (new PhoneNumberDesc()) ->setNationalNumberPattern('(?:5(?:4[0-29]|5\d|6[0-3])|6(?:[569]\d|7[0-6])|7[7-9]\d)\d{6}') ->setExampleNumber('551234567') ->setPossibleLength([9]); $this->premiumRate = (new PhoneNumberDesc()) ->setNationalNumberPattern('80[3-689]1\d{5}') ->setExampleNumber('808123456') ->setPossibleLength([9]); $this->fixedLine = (new PhoneNumberDesc()) ->setNationalNumberPattern('9619\d{5}|(?:1\d|2[013-79]|3[0-8]|4[013-689])\d{6}') ->setExampleNumber('12345678'); $this->numberFormat = [ (new NumberFormat()) ->setPattern('(\d{2})(\d{2})(\d{2})(\d{2})') ->setFormat('$1 $2 $3 $4') ->setLeadingDigitsPattern(['[1-4]']) ->setNationalPrefixFormattingRule('0$1') ->setNationalPrefixOptionalWhenFormatting(false), (new NumberFormat()) ->setPattern('(\d{2})(\d{3})(\d{2})(\d{2})') ->setFormat('$1 $2 $3 $4') ->setLeadingDigitsPattern(['9']) ->setNationalPrefixFormattingRule('0$1') ->setNationalPrefixOptionalWhenFormatting(false), (new NumberFormat()) ->setPattern('(\d{3})(\d{2})(\d{2})(\d{2})') ->setFormat('$1 $2 $3 $4') ->setLeadingDigitsPattern(['[5-8]']) ->setNationalPrefixFormattingRule('0$1') ->setNationalPrefixOptionalWhenFormatting(false), ]; $this->tollFree = (new PhoneNumberDesc()) ->setNationalNumberPattern('800\d{6}') ->setExampleNumber('800123456') ->setPossibleLength([9]); $this->sharedCost = (new PhoneNumberDesc()) ->setNationalNumberPattern('80[12]1\d{5}') ->setExampleNumber('801123456') ->setPossibleLength([9]); $this->personalNumber = PhoneNumberDesc::empty(); $this->voip = (new PhoneNumberDesc()) ->setNationalNumberPattern('98[23]\d{6}') ->setExampleNumber('983123456') ->setPossibleLength([9]); $this->pager = PhoneNumberDesc::empty(); $this->uan = PhoneNumberDesc::empty(); $this->voicemail = PhoneNumberDesc::empty(); $this->noInternationalDialling = PhoneNumberDesc::empty(); } }