generalDesc = (new PhoneNumberDesc()) ->setNationalNumberPattern('[2-9]\d{9}|3\d{6}') ->setPossibleLengthLocalOnly([7]) ->setPossibleLength([10]); $this->mobile = (new PhoneNumberDesc()) ->setNationalNumberPattern('(?:3052(?:0[0-8]|[1-9]\d)|5056(?:[0-35-9]\d|4[0-68]))\d{4}|(?:2742|305[3-9]|472[247-9]|505[2-57-9]|983[2-47-9])\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[0135-79]|3[0-24679]|4[167]|5[0-2]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-247]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\d{6}') ->setExampleNumber('2015550123') ->setPossibleLengthLocalOnly([7]); $this->premiumRate = (new PhoneNumberDesc()) ->setNationalNumberPattern('900[2-9]\d{6}') ->setExampleNumber('9002345678'); $this->fixedLine = (new PhoneNumberDesc()) ->setNationalNumberPattern('(?:3052(?:0[0-8]|[1-9]\d)|5056(?:[0-35-9]\d|4[0-68]))\d{4}|(?:2742|305[3-9]|472[247-9]|505[2-57-9]|983[2-47-9])\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[0135-79]|3[0-24679]|4[167]|5[0-2]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-247]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\d{6}') ->setExampleNumber('2015550123') ->setPossibleLengthLocalOnly([7]); $this->numberFormat = [ (new NumberFormat()) ->setPattern('(\d{3})(\d{4})') ->setFormat('$1-$2') ->setLeadingDigitsPattern(['310']) ->setNationalPrefixOptionalWhenFormatting(true), (new NumberFormat()) ->setPattern('(\d{3})(\d{4})') ->setFormat('$1-$2') ->setLeadingDigitsPattern(['[24-9]|3(?:[02-9]|1[1-9])']) ->setNationalPrefixOptionalWhenFormatting(false), (new NumberFormat()) ->setPattern('(\d{3})(\d{3})(\d{4})') ->setFormat('($1) $2-$3') ->setLeadingDigitsPattern(['[2-9]']) ->setNationalPrefixOptionalWhenFormatting(true), ]; $this->tollFree = (new PhoneNumberDesc()) ->setNationalNumberPattern('8(?:00|33|44|55|66|77|88)[2-9]\d{6}') ->setExampleNumber('8002345678'); $this->sharedCost = PhoneNumberDesc::empty(); $this->personalNumber = (new PhoneNumberDesc()) ->setNationalNumberPattern('52(?:3(?:[2-46-9][02-9]\d|5(?:[02-46-9]\d|5[0-46-9]))|4(?:[2-478][02-9]\d|5(?:[034]\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\d)|9(?:[05-9]\d|2[0-5]|49)))\d{4}|52[34][2-9]1[02-9]\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\d{6}') ->setExampleNumber('5002345678'); $this->voip = (new PhoneNumberDesc()) ->setNationalNumberPattern('305209\d{4}') ->setExampleNumber('3052090123') ->setPossibleLengthLocalOnly([7]); $this->pager = PhoneNumberDesc::empty(); $this->uan = PhoneNumberDesc::empty(); $this->voicemail = PhoneNumberDesc::empty(); $this->noInternationalDialling = PhoneNumberDesc::empty(); $this->intlNumberFormat = [ (new NumberFormat()) ->setPattern('(\d{3})(\d{4})') ->setFormat('$1-$2') ->setLeadingDigitsPattern(['310']) ->setNationalPrefixOptionalWhenFormatting(true), (new NumberFormat()) ->setPattern('(\d{3})(\d{3})(\d{4})') ->setFormat('$1-$2-$3') ->setLeadingDigitsPattern(['[2-9]']), ]; } }