You only need a single RegEx.
Use the conditional quantifiers in the Regex:
Case eValidateInput.IsPhoneNumberWithPlus
Dim objRegEx As New System.Text.RegularExpressions.Regex("^\+?\s?\d{3}\s?\d{3}\s?\d{4}$")
If Not objRegEx.IsMatch(InputValue) Then
sValidationMsg = "'" & InputName & "' must be a numeric value"
End If
Explanation of the Regex: ^\+?\s?\d{3}\s?\d{3}\s?\d{4}$
^ match must start at the beginning of the string
\+? 0 or 1 + character
\s? 0 or 1 whitespace character
\d{3} exactly 3 decimal digits
\s? 0 or 1 whitespace character
\d{3} exactly 3 decimal digits
\s? 0 or 1 whitespace character
\d{4} exactly 4 decimal digits
$ match must end at the end of the string
This should match:
+222 345 6789
+222345 6789
+222 3456789
+2223456789
222 345 6789
222345 6789
222 3456789
2223456789