Bonjour
Pouvez vous m'aider a savoir comment je peux vérifier la formule d'une adresse email saisie dans jTextField en java dans un formulaire en neatbeans
Merci pour votre aide.
Bonjour
Pouvez vous m'aider a savoir comment je peux vérifier la formule d'une adresse email saisie dans jTextField en java dans un formulaire en neatbeans
Merci pour votre aide.
Bonsoir,
Je voudrais essayer ceci pour mon projet:
Ce n'est pas encore fait, un autre avis / une correction serait fort utile.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 import java.util.regex.Pattern; ....... public void setEmail(String email) { Pattern rfc2822 = Pattern.compile("^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$"); if (rfc2822.matcher(email).matches()) { this.email = email; } }![]()
Salut !
Impressionnant le pattern ! bravo.
J'ai fait un code nettement plus rustique, mais qui permet de donner à l'utilisateur une indication sur l'erreur dans l'adresse e-mail :
Si on pouvait concilier les deux, élégance et message d'erreur...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 public boolean accepterEmail() { boolean ok = false; String message = "", tex = jTextFieldEmail.getText().trim(); int posiArrobase = 0, posiPoint = 0, posi2 = 0; if (tex.indexOf(" ") > -1) { // signaler l'espace message = " il y a un blanc dans l''adresse email "; } if (message.length() == 0) { posiArrobase = tex.indexOf("@"); if (posiArrobase < 0) { message = " arrobase (@) manque dans l'adresse email "; } if ((posiArrobase == 0) || (tex.endsWith("@"))) { message = " arrobase (@) mal placé dans l'adresse email "; } if ((posiArrobase > 0) && (posiArrobase < tex.length())) { posi2 = tex.indexOf("@",posiArrobase+1); if (posi2 > posiArrobase) { message = " double arrobase (@) dans l'adresse email "; } } if (message.length() == 0) { posiPoint = tex.indexOf("."); if (posiPoint == -1) { message = " on doit trouver au moins un point dans l'adresse email "; } if ((posiPoint == 0) || (tex.endsWith("."))) { message = " point mal placé dans l'adresse email "; } } if (message.length() == 0) { if (tex.length() == 0) { message = " l'adresse email est vide "; } } } if (message.length() == 0) { ok = true; } else { JOptionPane.showMessageDialog(null,message); jTextFieldEmail.requestFocusInWindow(); } return(ok); }
Qu'en pensez vous ?
Bonjour,
Pour le pattern je n'ai aucun mérite: c'est du code trouvé sur Internet.
Votre solution est meilleure, merci!
Salut
Sinon il existe l'annotation org.hibernate.validator.constraints.Email dans hibernate validator qui est aussi l'implémentation de référence de la JSR 303.
C'est le style de programmation conseillé par le standard.
Un ticket sur le sujet
Partager