ValidatePhone手机号验证

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

猜你喜欢

转载自blog.csdn.net/weixin_42339460/article/details/80638634