Imports System.Runtime.CompilerServices
Imports System.Text.RegularExpressions
Public Class Form1
Private Sub txt7Digit_Validating() Handles txt7Digit.Validating
Dim txt As String = txt7Digit.Text
If txt.IsValidPhoneNumber7digit Then
errPhone.SetError(txt7Digit, "")
Else
errPhone.SetError(txt7Digit, "Invalid 7-digit phone number")
End If
End Sub
Private Sub txt10Digit_Validating() Handles txt10Digit.Validating
Dim txt As String = txt10Digit.Text
If txt.IsValidPhoneNumber10digit Then
errPhone.SetError(txt10Digit, "")
Else
errPhone.SetError(txt10Digit, "Invalid 10-digit phone number")
End If
End Sub
Private Sub txtEither_Validating() Handles txtEither.Validating
Dim txt As String = txtEither.Text
If txt.IsValidPhoneNumberUS Then
errPhone.SetError(txtEither, "")
Else
errPhone.SetError(txtEither, "Invalid US phone number")
End If
End Sub
End Class
Module StringExtensions
' Return True if a String matches a regular expression.
<Extension()>
Public Function MatchesRegexp(ByVal the_string As String, ByVal regular_expression As String) As Boolean
Dim reg_exp As New Regex(regular_expression)
Return reg_exp.IsMatch(the_string)
End Function
' Return True if a String looks like a 7-digit US phone number.
<Extension()>
Public Function IsValidPhoneNumber7digit(ByVal the_string As String) As Boolean
Return the_string.MatchesRegexp("^[2-9]\d{2}-\d{4}$")
End Function
' Return True if a String looks like a 10-digit US phone number.
<Extension()>
Public Function IsValidPhoneNumber10digit(ByVal the_string As String) As Boolean
Return the_string.MatchesRegexp("^([2-9]\d{2}-){2}\d{4}$")
End Function
' Return True if a String looks like a 7- or 10-digit US phone number.
<Extension()>
Public Function IsValidPhoneNumberUS(ByVal the_string As String) As Boolean
Return IsValidPhoneNumber7digit(the_string) OrElse
IsValidPhoneNumber10digit(the_string)
End Function
End Module
Imports System.Text.RegularExpressions
Public Class Form1
Private Sub txt7Digit_Validating() Handles txt7Digit.Validating
Dim txt As String = txt7Digit.Text
If txt.IsValidPhoneNumber7digit Then
errPhone.SetError(txt7Digit, "")
Else
errPhone.SetError(txt7Digit, "Invalid 7-digit phone number")
End If
End Sub
Private Sub txt10Digit_Validating() Handles txt10Digit.Validating
Dim txt As String = txt10Digit.Text
If txt.IsValidPhoneNumber10digit Then
errPhone.SetError(txt10Digit, "")
Else
errPhone.SetError(txt10Digit, "Invalid 10-digit phone number")
End If
End Sub
Private Sub txtEither_Validating() Handles txtEither.Validating
Dim txt As String = txtEither.Text
If txt.IsValidPhoneNumberUS Then
errPhone.SetError(txtEither, "")
Else
errPhone.SetError(txtEither, "Invalid US phone number")
End If
End Sub
End Class
Module StringExtensions
' Return True if a String matches a regular expression.
<Extension()>
Public Function MatchesRegexp(ByVal the_string As String, ByVal regular_expression As String) As Boolean
Dim reg_exp As New Regex(regular_expression)
Return reg_exp.IsMatch(the_string)
End Function
' Return True if a String looks like a 7-digit US phone number.
<Extension()>
Public Function IsValidPhoneNumber7digit(ByVal the_string As String) As Boolean
Return the_string.MatchesRegexp("^[2-9]\d{2}-\d{4}$")
End Function
' Return True if a String looks like a 10-digit US phone number.
<Extension()>
Public Function IsValidPhoneNumber10digit(ByVal the_string As String) As Boolean
Return the_string.MatchesRegexp("^([2-9]\d{2}-){2}\d{4}$")
End Function
' Return True if a String looks like a 7- or 10-digit US phone number.
<Extension()>
Public Function IsValidPhoneNumberUS(ByVal the_string As String) As Boolean
Return IsValidPhoneNumber7digit(the_string) OrElse
IsValidPhoneNumber10digit(the_string)
End Function
End Module