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 !
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.