Public/Format-AllegisTelephoneNumber.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
Function Format-AllegisTelephoneNumber { Param([string]$TelephoneNumber) #https://en.wikipedia.org/wiki/National_conventions_for_writing_telephone_numbers $ProposedTelephoneNumber = $TelephoneNumber.Replace(" ","").Replace("(0)","") If($ProposedTelephoneNumber.StartsWith("00")){$ProposedTelephoneNumber = $ProposedTelephoneNumber.ToCharArray()[2..$TelephoneNumber.length] -Join ""; $ProposedTelephoneNumber = "+$ProposedTelephoneNumber"} Switch -Regex ($ProposedTelephoneNumber) { '^\+1\d{10}$' {$Spaces = @(2,5,8)} #US '^\d{10}$' {$Spaces = @(3,6)} '^\+441\d{8,9}$' {$Spaces = @(3,7)} #UK '^\+4411\d{8}$' {$Spaces = @(3,6,9)} '^\+441\d{1}?1\d{7}$' {$Spaces = @(3,6,9)} '^\+44(13873|15242|15394|15395|15396|16973|16974|17683|17684|17687|19467)\d{5}$' {$Spaces = @(3,8)} '^\+4416977\d{4,5}$' {$Spaces = @(3,8)} '^\+442\d{9}$' {$Spaces = @(3,5,9)} '^\+443\d{9}$' {$Spaces = @(3,6,9)} '^\+44(5|7)\d{9}$' {$Spaces = @(3,7)} '^\+44800\d{6}$' {$Spaces = @(3,6)} '^\+44(8|9)\d{9}$' {$Spaces = @(3,6,9)} '^\+31\d{9}$' {$Spaces = @(3,5,8,10)} #NL '^\+316\d{8}$' {$Spaces = @(3,4,6,8,10)} '^\+322\d{7}$' {$Spaces = @(3,4,7,9)} #BE '^\+324\d{8}$' {$Spaces = @(3,6,8,10)} '^\+33\d{9}$' {$Spaces = @(3,4,6,8,10)} #FR '^\+41\d{9}$' {$Spaces = @(3,5,8,10)} #CH '^\+468\d{8}$' {$Spaces = @(3,4,7,10)} #SE '^\+467\d{8}$' {$Spaces = @(3,5,8,10)} '^\+468-\d{8}$' {$Spaces = @(3,8,11)} '^\+467\d-\d{7}$' {$Spaces = @(3,9,11)} '^\+49\d{5,11}$' {$Spaces = @(3)} #DE '^\+49(30|40|69|89)\d{5,9}$' {$Spaces = @(3,5)} '^\+49800\d{7}$' {$Spaces = @(3,6)} '^\+491(5|6|7)\d{7,9}$' {$Spaces = @(3,6)} '^\+353\d{8}$' {$Spaces = @(4,8,10)} #IE '^\+3538\d{8}$' {$Spaces = @(4,6,9)} '^\+971\d{8}$' {$Spaces = @(4,5,8)} #AE '^\+9715\d{8}$' {$Spaces = @(4,6,9)} } $CharArray = $ProposedTelephoneNumber.ToCharArray() $ProposedTelephoneNumber = For($y = 0; $y -lt $CharArray.Count; $y++){If($Spaces -Contains $y){" $($CharArray[$y])"}Else{$CharArray[$y]}} $ProposedTelephoneNumber -Join "" } |