Fonctions de vérification de la syntaxe d'une chaine

Contenu du snippet

Voila une petite classe qui permet d'effectuer des vérifications de saisie sur des chaines, ou d'effectuer des traitements sur celle-ci

Source / Exemple :


Imports System.Text.RegularExpressions
Namespace Text
    Public Class Syntaxe

        Public Function IsEmailValid(ByVal chaine As String) As Boolean
            If (chaine <> "") Then
                Dim RegexpEmail As New Regex("\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*")
                Dim bEmailValid As Boolean = RegexpEmail.IsMatch(chaine)
                If (bEmailValid) Then
                    Return True
                Else
                    Return False
                End If
            Else
                Return False
            End If
        End Function

        Public Function IsDateValidFR(ByVal chaine As String) As Boolean
            If (chaine <> "") Then
                Dim RegexpEmail As New Regex("([0-9]{2,2})(/)([0-9]{2,2})(/)([0-9]{2,2})")
                Dim bEmailValid As Boolean = RegexpEmail.IsMatch(chaine)
                If (bEmailValid) Then
                    Return True
                Else
                    Return False
                End If
            Else
                Return False
            End If
        End Function

        Public Function IsCodePostalValidFR(ByVal chaine As String) As Boolean
            If (chaine <> "") Then
                Dim RegexpEmail As New Regex("[0-9]{5}")
                Dim bEmailValid As Boolean = RegexpEmail.IsMatch(chaine)
                If (bEmailValid) Then
                    Return True
                Else
                    Return False
                End If
            Else
                Return False
            End If
        End Function

        Public Shared Function ReplaceAccents(ByVal chaine As String) As String
            If Not chaine Is Nothing Then
                Dim strTemp As String = chaine
                Dim regE As New Regex("(é|è|ê|ë)")
                Dim regA As New Regex("(à|â|ä)")
                Dim regC As New Regex("(ç)")
                Dim regU As New Regex("(ù)")
                Dim regO As New Regex("(ô)")
                strTemp = regE.Replace(strTemp, "e", 1)
                strTemp = regA.Replace(strTemp, "a", 1)
                strTemp = regC.Replace(strTemp, "c", 1)
                strTemp = regU.Replace(strTemp, "u", 1)
                strTemp = regO.Replace(strTemp, "o", 1)
                Return strTemp
            Else
                Return ""
            End If
        End Function

        Public Shared Function ReplacePonctSpace(ByVal chaine As String) As String
            Dim strTemp As String = ""
            If Not chaine Is Nothing Then
                Dim regE As New Regex("(\.|\?|\;|\,|\:|\)|\(|\!|\'|\""|\/|\\|\-)")
                strTemp = regE.Replace(Replace(chaine, vbCrLf, " "), " ")
                Return strTemp
            End If
        End Function

        Public Shared Function StripHTML(ByVal LeTxt As String) As String
            Dim MaRegex As New System.Text.RegularExpressions.Regex("")
            Dim tmpTxt As String = LeTxt & ""
            tmpTxt = MaRegex.Replace(tmpTxt, "(<[^>]+>)", " ")
            MaRegex = Nothing
            Return tmpTxt
        End Function

        Public Shared Function TrieBulle(ByVal chaine As String) As String
            Dim strTemp As Array = chaine.ToCharArray
            Dim strTemp2 As String
            Dim I As Integer, F As Integer
            Dim car As Char
            Array.Sort(strTemp)
            For I = 0 To (strTemp.Length - 1)
                strTemp2 = strTemp2 & strTemp(I)
            Next
            Return strTemp2
        End Function

        Public Function IsDecimal(ByVal chaine As String) As Boolean
            Dim decimalRegex As New System.Text.RegularExpressions.Regex("^[0-9][.,,][0-9]$")
            Return decimalRegex.IsMatch(chaine)
        End Function

        Public Function IsEntier(ByVal chaine As String) As Boolean
            Dim EntierRegex As New System.Text.RegularExpressions.Regex("^\d+$")
            Return EntierRegex.IsMatch(chaine)
        End Function

        Public Function IsTelephoneFR(ByVal chaine As String) As Boolean
            Dim TelephoneRegex As New System.Text.RegularExpressions.Regex("\d{10,10}")
            Return TelephoneRegex.IsMatch(chaine)
        End Function

        Public Shared Function SupprimeEspace(ByVal Phrase As String)
            Dim ChercheCaratere As String = " "
            Dim strDroite As String
            Dim strGauche As String
            Do While Microsoft.VisualBasic.InStr(Phrase, " ") <> 0
                Dim PlaceEspace As Integer = InStrRev(Phrase, " ")
                strGauche = Microsoft.VisualBasic.Left(Phrase, PlaceEspace - 1)
                strDroite = Microsoft.VisualBasic.Right(Phrase, Len(Phrase) - PlaceEspace)
                Phrase = strGauche & strDroite
            Loop
            Return Phrase
        End Function

    End Class

End Namespace

Conclusion :


un petit exemple sur les expressions régulières qui sont très pratique !

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.