2016-04-28 3 views
0

J'ai une forme et parmi les champs à remplir est le courrier que je veux faire un contrôle pour que l'adresse d'entrée est compatible avec les mails standardsComment puis-je faire le contrôle d'entrée vérifier qu'une adresse e-mail est de forme valide?

responsableTechnique.setMail(mailResponsable.getText()); 
+0

Vous pouvez utiliser une expression régulière pour vérifier si l'adresse chaîne/email correspond à un modèle voir http://www.mkyong.com/regular-expressions/how-to- Virginie lidate-adresse email avec expression_contenu_élément régulière/ –

+0

Voir [Comment utiliser le sous-système de mise au point: entrée Validation] (https://docs.oracle.com/javase/tutorial/uiswing/misc/focus.html#inputVerification) . –

+1

Vous pouvez également lire http://www.regular-expressions.info/email.html pour comprendre pourquoi la validation des emails via regexp est une tâche difficile ... –

Répondre

0

Vous pouvez avec regex, par exemple:

public static void main(String[]args){ 
    String regex = "^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)+$"; 

    Pattern.matches(regex,"[email protected]"); //True 
    Pattern.matches(regex,"[email protected]"); //True 
    Pattern.matches(regex,"testtest.fr"); //False 
    Pattern.matches(regex,"[email protected]"); //False 
    Pattern.matches(regex,"[email protected]"); //False 
    Pattern.matches(regex,"[email protected]@st.fr"); //False 

} 

donc, pour votre exemple:

String regex = "^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)+$"; 
    String mail = mailResponsable.getText(); 

    if(Pattern.matches(regex,mail)) responsableTechnique.setMail(mail);