Java :controle saisi email

Fermé
domxaline - 22 sept. 2009 à 14:25
 domxaline - 23 sept. 2009 à 15:37
Bonjour,
dans le java, je dois faire un prg de controle saisi email
ce prg doit être fait avec tableau et utilie Scanner

L'adresse e-mail doit avoir un caractère @ et un seul.
Ce caractère (@) doit être précédé d'au moins 3 caractères qui ne sont que des lettres de l'alphabet (pas de chiffre).
L'adresse e-mail doit avoir un caractère . et un seul.
Ce caractère (.) doit être suivi d'au moins 2 caractères qui ne sont que des lettres de l'alphabet (pas de chiffre).
Ce caractère (.) doit être précédé d'au moins 3 caractères qui ne sont que des lettres de l'alphabet (pas de chiffre).
Ce caractère (.) doit être placé avant le caractère @

s'il vous plaît, quelqu'un peut m'aider
A voir également:

6 réponses

bonjour
pouvez vous m'explique cette ligne s'il vous plaît
if (mail.matches("\\w{3,}@\\S+")) 


sutout ceci
("\\w{3,}@\\S+"))
il faut ajouter un point aussi!!
1
mel21lio Messages postés 275 Date d'inscription mardi 14 juillet 2009 Statut Membre Dernière intervention 21 octobre 2009 25
22 sept. 2009 à 17:59
on va quand même pas te faire ton devoir
sinon tu va rien apprendre

un exemple sur les scanner
http://gadille.free.fr/doc/java/perso/src/com/test/test1.java

pour les regex c'est le même que perl sauf que tu doit compléter entièrement la string a matcher
http://gadille.free.fr/doc/scripting/perl/perl.html

package com.test;

import java.util.Scanner;

public class Test3 {
public static void main(String[] args) {
String strg;
for (int i = 0; i < 2; i++) {
System.out.println("entré votre mail:");
Scanner sc = new Scanner(System.in);
strg = sc.nextLine();
System.out.println("text entré :" + strg);

Test3 test3 =new Test3();
test3.controlMail(strg);
}
}

boolean controlMail (String mail){
boolean pass =true;

if (mail.matches("\\w{3,}@")){ //a finir
System.out.println("mail correct bienvenue sur http://gadille.free.fr");
}else{
System.out.println("Pas glop");
}

return pass;
}

}
0
mel21lio Messages postés 275 Date d'inscription mardi 14 juillet 2009 Statut Membre Dernière intervention 21 octobre 2009 25
22 sept. 2009 à 18:13
regarde ici je t'est fournie une bonne ebauche de ton truc
tu y vois le scan
les regex java
le reperage sur les double @
http://gadille.free.fr/doc/java/perso/src/com/test/
0
il n'y a personne pour m'aider,s'il vous plaît
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mel21lio Messages postés 275 Date d'inscription mardi 14 juillet 2009 Statut Membre Dernière intervention 21 octobre 2009 25
23 sept. 2009 à 11:12
les admins font du zel et supprime les messages il est cool ce forum ... puis puisque personen repond ils les remettes
c'est le pik du jours na
0
Utilisateur anonyme
23 sept. 2009 à 12:24
J'avais préparé cette réponse (heureusement dans Word) quand les messages du 22 sétaient envolés et je le poste quand même malgré celles de mel21lio

Salut,

"Ce caractère (.) doit être placé avant le caractère @"
Es-tu certain que le point doit être placé avant le caractère @? c'est faux et en plus c'est en contradiction avec ce qui précède.
Donc pour moi ce dernier contrôle n'est pas à faire.

Ceci dit, l'utilisation de regex serait une solution pour faire ces contrôles mais je te conseille, à moins que tu sois un pro de regex, d'utiliser int indexOf(String str) et String substring(int i1, inti2)

Par exemple, pour "L'adresse e-mail doit avoir un caractère @ et un seul."

Une adresse mail:
String email = unabonne@msn.com   // (noter que les accents ne sont pas autorisés)
int positionArob =  email.indexOf("@"); // on recherche la position de @


nous trouverons 8 car la valeur obtenue est une valeur de 0 à longueur du String-1
s'il n'y avait pas d'@ nous obtiendrions -1 et ce serait une première erreur à signaler.

S'il y a bien un premier @ il faut maintenant vérifier qu'il n'y a pas un autre @, pour celà nous faisons la meme recherche, mais en partant de la fin du String email.

int positionAutreArob =  email.lastIndexOf("@"); // on recherche @ à partir de la fin
if (positionArob == positionAutreArob) // on est certain qu'il n'y a pas d'autre @
else // il y a au moins un autre @
....


Tu dois ensuite facilement trouver comment faire la première partie du contrôle suivant
Ce caractère (@) doit être précédé d'au moins 3 caractères

Commence par appliquer ces 3 premiers contròles à ton programme et n'hésite pas à te
manifester si nécessaire...

Et ensuite nous irons peut-être plus loin.

Cordialement,

Dan
0