Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

FONCTIONS DE VÉRIFICATION DE LA SYNTAXE D'UNE CHAINE


Information sur la source



Description

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

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

Commentaires et avis

signaler à un administrateur
Commentaire de Nurgle le 07/10/2005 18:01:53 administrateur CS

cool ! ça c'est le genre de truc hyper-utile que je n'avais pas envie de refaire moi-même :D
(par pure flemme sans doute)

10/10 !

signaler à un administrateur
Commentaire de Nurgle le 24/10/2005 18:49:29 administrateur CS

Pourquoi pas ça pour la function TrieBulle :
Public Shared Function TrieBulle(ByVal chaine As String) As String
      Dim strTemp() As Char = chaine.ToCharArray
      Dim strTemp2 As String = ""
      Dim I As Integer
      Array.Sort(strTemp)
      For I = 0 To (strTemp.Length - 1)
          strTemp2 = strTemp2 & strTemp(I)
      Next
      Return strTemp2
End Function
non ?
Parce que, quand on a "Option Strict On", le strTemp As System.Array génère une erreur de "late binding" !

signaler à un administrateur
Commentaire de rayouma2010 le 17/05/2007 06:48:47

Un code très util. Merci bien et bonne continuation.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

connection string dynamique [ par quineman ] Vous connaissez surment le tag &lt;connectionString&gt; de votre fichier de configuration web.config. Il permet de stocker toutes vos chaines de conne Ne pas forcement recuperer qqchose dans la barre d'adresse [ par wally88 ] Bonjour, alors j'ai deux pages celui-ci renvoyat sur une meme page mais avec une barre d'adresse différente :1)recherche.aspx?&amp;rechercherpar=secte Vérification date [ par cyclotor ] Salut à tous!J'aimerais connaître un moyen pour contrôler la validité d'une date afin de la stocker dans une base de données selon un format classique enregistrer fichier sur serveur ftp [ par chandler8692 ] Bonjour tout le monde. Aujourd'hui, je souhaite créer un fichier xml dans mon code puis l'enregistrer sur mon serveur ftp. C'est cette seconde partie Echappement des caractères spéciaux [ par jakata ] Bonjour à tous,J'aimerais savoir comment faire un échappement des caractères spéciaux (d'un string) afin de faire un insert dans une DB sql server.La Tableau d'objet [ par jorrie ] Bonjours, j'aimerais créer un tableau de personne que je stockerais dans une variable session mais lorsque j'essaie il me met erreur de reference a l' Pb avec telechargement d'un fichier en asp.net 1.1 [ par Sardonnen ] bonjourj'ai un soucis avec le téléchargement des fichiers clients vers le serveur car le code html de la page est ajouté à chaque fois à la fin du fic QUERY_STRING en asp ? [ par babaslow ] Bonjour, Je débute en asp et comme tout débutant je galère... Comment fait-on pour ajouter au code du dessous ceci Request.ServerVariables("QUERY_ST Sécurité ASP.net - Forms Authentication [ par carlos95 ] J'essaie de mettre en place une application web sécurisée par un formulaire d'authentification. Mais je rencontre un problème pour décrypter les rôles Miniatures d'img (bisi-bis), Nurgle si T là ! [ par yous ] Je souhaite gérer des miniatures d'images pour optmiser les temps de téléchargement. Je travaille en .Net 1.1.Nurgle m'est déjà


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,546 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.