A voir également:
- Arobase et . dans email java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Comment creer un compte email - Guide
- Jeux java itel 5360 ✓ - Forum Jeux vidéo
9 réponses
Re,
Avec la 1ère version de ton code, tu peux tester ce motif:
String motif = "^[a-zA-Z0-9_-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$";
Ce qui permet d'effectuer les contrôles suivants:
- L'adresse doit commencer par des lettres quelconques (en minuscule ou majuscule),
n'importe quel chiffre, et les caractères "-" ou "_".
(mais combinées n'importe comment **)
- après l'arobase, le même contrôle mais sans "_"
et il faut impérativement au moins 2 caractères entre l'arobase et le point (**).
- aprés le point, il doit y avoir 2 ou 3 lettres majuscules ou miniscules.
Le contrôle de l'@ et du point est bon...
C'est loin d'être complet mais c'est un bon début...
Cordialement,
Dan
Avec la 1ère version de ton code, tu peux tester ce motif:
String motif = "^[a-zA-Z0-9_-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$";
Ce qui permet d'effectuer les contrôles suivants:
- L'adresse doit commencer par des lettres quelconques (en minuscule ou majuscule),
n'importe quel chiffre, et les caractères "-" ou "_".
(mais combinées n'importe comment **)
- après l'arobase, le même contrôle mais sans "_"
et il faut impérativement au moins 2 caractères entre l'arobase et le point (**).
- aprés le point, il doit y avoir 2 ou 3 lettres majuscules ou miniscules.
Le contrôle de l'@ et du point est bon...
C'est loin d'être complet mais c'est un bon début...
Cordialement,
Dan
sandul
Messages postés
3927
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
723
28 sept. 2010 à 11:18
28 sept. 2010 à 11:18
Bonjour,
Essaie ceci:
Toutefois, note que:
1. Pour la vérification simple que tu souhaites, les regex ne sont pas vraiment nécessaires. Le code se simplifie dans ce cas comme suit (sans perte de fonctionnalité):
2. Pour vérifier qu'un String est une adresse d'e-mail valide, c'est un chouïa plus compliqué. Le fait de vérifier l'existence d'un point suivant l'éperluette n'est pas suffisant.
++
Essaie ceci:
public static boolean arobasePoint(String adresse) { Pattern mot = Pattern.compile("@*\\."); Matcher mail = mot.matcher(adresse); return mail.find(); }
Toutefois, note que:
1. Pour la vérification simple que tu souhaites, les regex ne sont pas vraiment nécessaires. Le code se simplifie dans ce cas comme suit (sans perte de fonctionnalité):
public static boolean arobasePoint(String adresse) { return adresse.indexOf('.')>adresse.indexOf('@'); }
2. Pour vérifier qu'un String est une adresse d'e-mail valide, c'est un chouïa plus compliqué. Le fait de vérifier l'existence d'un point suivant l'éperluette n'est pas suffisant.
++
Utilisateur anonyme
28 sept. 2010 à 13:19
28 sept. 2010 à 13:19
Salut,
Si c'est une obligation d'utiliser Regex tu peux faire:
Cordialement,
Dan
Si c'est une obligation d'utiliser Regex tu peux faire:
String adresse = "untel@msn.com"; String motif = "[@{1}[\\.{1}]]"; //@ doit exister exactement 1 fois, le . aussi // mais sont-ils au bon endroit ? Pattern pattern = Pattern.compile(motif); Matcher matcher = pattern.matcher(adresse); int nbreFois = 0; while(matcher.find()) { nbreFois++; } System.out.println("nbreFois = " + nbreFois); if(nbreFois == 2) { if(adresse.indexOf('.')>adresse.indexOf('@')) // merci sandul System.out.println("@ et . existent chacun une fois dans " + adresse + " et dans le bon ordre !!!"); else System.out.println("@ et . existent chacun une fois dans " + adresse + " mais dans le mauvais ordre !!!"); } else System.out.println("Soit @ ou . n'existe pas, ou les deux n'existent pas,\n" + "ou l'un des deux existe plus d'une fois,\n" + "ou les deux existent plus d'une fois dans \"" + adresse + "\"");
Cordialement,
Dan
Merci mais la restriction concernant l'@ et le . ne marche pas :s!
Autrement c'est nikl :d
Merci de prendre le temps de me répondre
Autrement c'est nikl :d
Merci de prendre le temps de me répondre
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
29 sept. 2010 à 00:04
29 sept. 2010 à 00:04
Re,
Appel de la méthode:
Dan
public static boolean arobasePoint(String adresse) { //boolean booleen; //déclarer au niveau classe >> private static boolean booleen String motif = "[@{1}[\\.{1}]]"; //@ doit exister exactement 1 fois, le . aussi // mais sont-ils au bon endroit ? Pattern pattern = Pattern.compile(motif); Matcher matcher = pattern.matcher(adresse); int nbreFois = 0; while(matcher.find()) { nbreFois++; } if( (nbreFois == 2) && (adresse.indexOf('.')>adresse.indexOf('@')) ) // merci sandul { booleen = true; } else { booleen = false; } return booleen; }
Appel de la méthode:
String mail = "untel@msn.com"; arobasePoint(mail); if(booleen) System.out.println("@ et . existent chacun une fois dans " + mail + " et dans le bon ordre !!!"); else System.out.println("Pb @ et/ou .");
Dan
Cela marche mais mtn je voudrais dabords gérer les @ voir si y en a qu'une sinon mettre un message d'erreur et seulement après vérifier si y a que un point autrement pareil mettre un message d'erreur.
Voila je sais que je suis chiant mais je veux que cela soit propre merci
Voici mon code pour l'@ :
Mais ça me met que c'est bon alors que quand je rentre 2 @ ça me met qu'elle est valide aussi alors que c'est censé etre mauvais..
Merci d'avance
Voila je sais que je suis chiant mais je veux que cela soit propre merci
Voici mon code pour l'@ :
//Restriction a avoir dans l'adresse a saisir Pattern mot = Pattern.compile("[@{1}]"); //On regarde si l'adresse saisie correspond aux restrictions Matcher mail = mot.matcher(adresse);
Mais ça me met que c'est bon alors que quand je rentre 2 @ ça me met qu'elle est valide aussi alors que c'est censé etre mauvais..
Merci d'avance
sandul
Messages postés
3927
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
723
29 sept. 2010 à 09:33
29 sept. 2010 à 09:33
Re,
Il te faut une regex plus complexe si tu veux contrôler correctement une adresse e-mail, car il y a plein de RFC qui décrivent le format d'une adresse valide. Ce n'est pas évident dans un premier temps, mais les vérifications à faire sont nombreuses.
Je t'ai déjà répondu à ce sujet ici https://forums.commentcamarche.net/forum/affich-19236440-adresse-mail-en-java#p19266114 ... Prends la peine de lire avec attention les liens en évitant de dire "mais ça ne marche pas" dans les premières 5 minutes d'essai :-P En particulier, tu as une classe fonctionnelle complète fournie par Les Hazlewood (il ne te reste qu'à faire du copier coller). Plus simple que ça...
++
Il te faut une regex plus complexe si tu veux contrôler correctement une adresse e-mail, car il y a plein de RFC qui décrivent le format d'une adresse valide. Ce n'est pas évident dans un premier temps, mais les vérifications à faire sont nombreuses.
Je t'ai déjà répondu à ce sujet ici https://forums.commentcamarche.net/forum/affich-19236440-adresse-mail-en-java#p19266114 ... Prends la peine de lire avec attention les liens en évitant de dire "mais ça ne marche pas" dans les premières 5 minutes d'essai :-P En particulier, tu as une classe fonctionnelle complète fournie par Les Hazlewood (il ne te reste qu'à faire du copier coller). Plus simple que ça...
++
Ce que je demande et clair et net.
Je veux vérifier d'abords qu'il y a bien que un @ dans la phrase puis dans un second temps vérifier qu'il y a que un . derrière l'@.
La doc que vous avez donné ne m'aide en autant cas à faire cela...
Je veux vérifier d'abords qu'il y a bien que un @ dans la phrase puis dans un second temps vérifier qu'il y a que un . derrière l'@.
La doc que vous avez donné ne m'aide en autant cas à faire cela...
je re poste une réponse de 30/09/2010 qui s'est affichée plus haut et que tu n'as sans doute pas vue:
Re,
Avec la 1ère version de ton code, tu peux tester ce motif:
String motif = "^[a-zA-Z0-9_-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$";
Ce qui permet d'effectuer les contrôles suivants:
- L'adresse doit commencer par des lettres quelconques (en minuscule ou majuscule),
n'importe quel chiffre, et les caractères "-" ou "_".
(mais combinées n'importe comment **)
- après l'arobase, le même contrôle mais sans "_"
et il faut impérativement au moins 2 caractères entre l'arobase et le point (**).
- aprés le point, il doit y avoir 2 ou 3 lettres majuscules ou miniscules.
Le contrôle de l'@ et du point est bon...
C'est loin d'être complet mais c'est un bon début...
Cordialement,
Dan
Re,
Avec la 1ère version de ton code, tu peux tester ce motif:
String motif = "^[a-zA-Z0-9_-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$";
Ce qui permet d'effectuer les contrôles suivants:
- L'adresse doit commencer par des lettres quelconques (en minuscule ou majuscule),
n'importe quel chiffre, et les caractères "-" ou "_".
(mais combinées n'importe comment **)
- après l'arobase, le même contrôle mais sans "_"
et il faut impérativement au moins 2 caractères entre l'arobase et le point (**).
- aprés le point, il doit y avoir 2 ou 3 lettres majuscules ou miniscules.
Le contrôle de l'@ et du point est bon...
C'est loin d'être complet mais c'est un bon début...
Cordialement,
Dan