Bonjour tout le monde, je suis en train de créer un programme qui requière une connexion par adresse e-mail.
J'ai donc ajouté 2 TextBox, et je voudrais effectuer une vérification de l'adresse e-mail, pour ne pas que l'utilisateur rentre comme adresse e-mail "fbjvbd" (exemple).
Un système de vérification qui vérifiera si il y a le caractère "@" et le "." (du ".com" ou ".fr"). Pour éviter toute fraude.
Merci de vos éventuelles réponses.
On oublie ce que j'ai dit, on va faire plus simple :
'Avec un bouton appelé Command1
'Avec une textbox appelé Text1
Private Sub Command1_Click()
If InStr(Text1, "@") = 0 Or _ 'Est ce que dans le texte on a @
InStr(Text1, ".") = 0 Or _ 'Est ce que dans le texte on a un point
Len(Text1) < 7 Then ' Est ce que le texte fait plue de 7 caractères
MsgBox "L'adresse spécifiée n'est pas valide !"
Else
MsgBox "Votre adresse est apparement valide..."
End If
End Sub
Dernière solution et unique. Si il y a des erreur, je ne sais pas ce qui se passe chez toi car il marche chez moi :
Imports System.Globalization
Imports System.Text.RegularExpressions
Public Class RegexUtilities
Dim invalid As Boolean = False
public Function IsValidEmail(strIn As String) As Boolean
invalid = False
If String.IsNullOrEmpty(strIn) Then Return False
' Use IdnMapping class to convert Unicode domain names.
Try
strIn = Regex.Replace(strIn, "(@)(.+)$", AddressOf Me.DomainMapper,
RegexOptions.None, TimeSpan.FromMilliseconds(200))
Catch e As RegexMatchTimeoutException
Return False
End Try
If invalid Then Return False
' Return true if strIn is in valid e-mail format.
Try
Return Regex.IsMatch(strIn, _
"^(?("")(""[^""]+?""@)|(([0-9a-z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-z])@))" + _
"(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-z][-\w]*[0-9a-z]*\.)+[a-z0-9]{2,17}))$",
RegexOptions.IgnoreCase, TimeSpan.FromMilliseconds(250))
Catch e As RegexMatchTimeoutException
Return False
End Try
End Function
Private Function DomainMapper(match As Match) As String
' IdnMapping class with default property values.
Dim idn As New IdnMapping()
Dim domainName As String = match.Groups(2).Value
Try
domainName = idn.GetAscii(domainName)
Catch e As ArgumentException
invalid = True
End Try
Return match.Groups(1).Value + domainName
End Function
End Class
Merci de ta réponse, mais il y a encore des erreurs. Pourtant, cela ne semble pas difficile du tout. Je tourne sous Visual Basic 2008 car avec le 2010, j'ai des soucis. Encore merci pour ton aide apporté.
Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.
Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre. En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.
Au lieu de déterrer un sujet il est préférable :
soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
soit de créer un nouveau sujet décrivant votre propre contexte
ne pas répondre à un déterrage et le signaler à la modération