Functions/get-WITpnr.ps1
<#
.Synopsis (c) Witcon AB Formaterar personnr .DESCRIPTION Indata personnr 10 -13 tecken Utdata full13 = ååååmmdd-xxxx full12 = ååååmmddxxxx full8 = ååååmmdd short11 = ååmmdd-xxxx short10 = ååmmddxxxx #> Function Get-WitPnr { [CmdletBinding()] param( [Parameter(Mandatory=$true, Position=0)] [string]$Personnr, [ValidateSet("full13", "full12","Full8","short11", "short10")] $typ ) $Personnr=$Personnr.Replace("-","") if ($Personnr.length -ge 12) { $far=$Personnr.Substring(0,2) $Fpnrdate = $Personnr.Substring(2, 6) $Fpnrnr = $Personnr.Substring(8, 4) } else { [string]$FDate=get-date -Format yyMMdd $Fspnr=$Personnr.Substring(0,2) $fsdate=$FDate.Substring(0,2) if ($fsdate -lt $Fspnr) {$far=19} else {$far=20} $Fpnrdate = $Personnr.Substring(0, 6) $Fpnrnr = $Personnr.Substring(6, 4) } if ($typ -eq 'full13') { $Fpnr = "$far$Fpnrdate-$Fpnrnr" } elseif ($typ -eq 'full12') { $Fpnr="$far$Fpnrdate$Fpnrnr" } elseif ($typ -eq 'short11') { $Fpnr="$Fpnrdate-$Fpnrnr" } elseif ($typ -eq 'Full8') { $Fpnr="$far$Fpnrdate" } elseif ($typ -eq 'short11') { $Fpnr="$Fpnrdate-$Fpnrnr" } else { $Fpnr="$Fpnrdate$Fpnrnr" } $Fpnr } |