Test Email plus rapide [Résolu]

Signaler
Messages postés
394
Date d'inscription
mercredi 30 janvier 2002
Statut
Membre
Dernière intervention
4 novembre 2009
-
Messages postés
394
Date d'inscription
mercredi 30 janvier 2002
Statut
Membre
Dernière intervention
4 novembre 2009
-
Bonjour,
jusqu'à maintenant j'utilisais cela :

<hr size="2" width="100%" />    ' Teste si la valeur est un Email
    Public Shared Function IsEmail(ByVal Value As String) As Boolean
        Dim objIntPattern As New System.Text.RegularExpressions.Regex("^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$")
        Return objIntPattern.IsMatch(Value)
    End Function<hr size="2" width="100%" />

pour tester la validité d'un email .. Mais lorsque je m'en suis servi pour afficher un tableau de 8000 enregistrements car je ne veux pas de paging.. l'affichage de ma page et ma fonction qui teste un champs du tableau :

If MaRegExp.IsEmail(lstrText) Then
End If

met 3,80 min à s'afficher alors qu'en tant normal (sans le test) cela met 4sec
connaissez vous une méthode plus rapide pour un test d'email ?
cela peut en laisser passer quelques une c'est juste pour de l'affichage..

Merci

3 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Bonjour,

tu peux eventuellement tester avec une regexp un peu plus simple car la elle me semble bien compliqué, tu peux en trouver sur www.regexlib.com ensuite il faut savoir ce que tu as dans tes 8000 enregistrements si tu as beaucoup d'email invalide ca va etre facile à traiter, tu peux faire des pré-test rapide avant de faire le test complet.

par exemple
if( s.length > 5 && s.indexOf([mailto:'@' '@']) > 0 && s.indexOf('.') > 0){
      // ici le gros test      
}

déjà en faisant comme ca, tu vas épurer rapidement ta liste d'emails. Mais ca n'optimisera pas beaucoup si tu as très peu d'email invalide dans ce cas il faudra plutot jouer avec la complexité de la regexp en sachant qu'il se peu qu'il y ait des adresses invalides :s

Mais il est souvent plus judicieux de vérifier l'adresse e-mail lors de l'insert, généralement on fait moins d'insert que d'affichage et par conséquent on valide l'email moins souvent :-)
<hr />Cyril - MVS - MCP
Messages postés
394
Date d'inscription
mercredi 30 janvier 2002
Statut
Membre
Dernière intervention
4 novembre 2009
1
Bon avec cette expression : ^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$ c'est beaucoup plus rapide ;)
Merci Cyril
cela met 3,8sec
Messages postés
394
Date d'inscription
mercredi 30 janvier 2002
Statut
Membre
Dernière intervention
4 novembre 2009
1
okay .. En attendant de trouver un bon test, j'ai fais à peu près le test que tu as mis en test unique ^^
Mais pour la vérification à l'insert, cela est un peu complexe car je migre une BD.. Je sors les exceptions mais d'ici à ce qu'elles soient corrigées, c'est pas Bysance.

Mici
A peluche