Function IsValidSSN(ByRef Value As String, Optional ByVal IsRequired As Boolean _ = True) As Boolean
On Error GoTo ErrorHandler Dim strTemp As String Dim i As Integer Dim intMax As Integer
IsValidSSN = True Value = Trim$(Value)
If Value = "" Then If IsRequired Then IsValidSSN = False Else Exit Function End If End If
intMax = Len(Value) For i = 1 To intMax Select Case Mid$(Value, i, 1) Case "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" strTemp = strTemp & Mid$(Value, i, 1) End Select Next i
Value = strTemp
If Len(Value) <> 9 Then IsValidSSN = False Else Value = Left$(strTemp, 3) & "-" & Mid$(strTemp, 4, _ 2) & "-" & Mid$(strTemp, 6, 4) End If
ExitMe: Exit Function
ErrorHandler: Err.Raise Err.Number, "IsValidSSN", Err.Description
End Function |