Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2953 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  controle saissie d'une adresse email

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

controle saissie d'une adresse email

n°1925950
domxaline
Posté le 22-09-2009 à 20:04:14  profilanswer
 

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
j'ai ecrit le code comme ça
 
 
public class Toi
{
 public static void main(String[] args)
  {
 
   System.out.println("Entrez votre adresse email:" );
   Scanner sc=new Scanner(System.in);
   String email=sc.nextLine();
   String[] tab={email};
   for(int i=0;i<tab.length;i++)
   {
 
   }
 
après je ne sais pas comment continuer!!
 
aidez moi s'il vous plaît

mood
Publicité
Posté le 22-09-2009 à 20:04:14  profilanswer
 

n°1925951
masklinn
í dag viðrar vel til loftárása
Posté le 22-09-2009 à 20:07:25  profilanswer
 

domxaline a écrit :

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 @


C'est n'importe quoi ces règles :/


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1925979
domxaline
Posté le 22-09-2009 à 22:52:36  profilanswer
 

masklinn a écrit :


C'est n'importe quoi ces règles :/


 
alors, peut tu me donner le prg concret s'il te plaît;pour contrôler valid email

n°1925986
cbeyls
Hail to the King, Baby
Posté le 22-09-2009 à 23:42:47  profilanswer
 

C'est une blague les règles? Ca n'a ni queue ni tête, ce ne serait même pas une adresse e-mail valide vu que le point doit être avant le @ et qu'il ne doit y en avoir qu'un seul, alors que dans toute adresse email on a au moins un . après le @ (exemple: toto@domaine.com)
 
Quoi qu'il en soit, tu dois utiliser une expression régulière pour valider l'entrée. Si tu emploies la classe Scanner, tu dois utiliser la méthode findInLine(pattern) où pattern est une expression régulière compilée. Si cette méthode renvoie null, l'adresse e-mail entrée est invalide. Sinon, la méthode renvoie l'adresse e-mail sous la forme d'une chaîne de caractère.
 
L'expression régulière dépend des règles de validation d'une adresse e-mail. Mais les règles que tu donnes là sont à mon avis incorrectes et n'ont pas de sens. À mon avis tu as déjà inversé la dernière règle: le point doit se trouver après le @. Mais techniquement dans une adresse e-mail on peut avoir plusieurs points après le @ et on peut même en avoir avant le @ aussi.


Message édité par cbeyls le 22-09-2009 à 23:46:23
n°1925987
domxaline
Posté le 22-09-2009 à 23:50:34  profilanswer
 

ok,laissons les regles que j'avais donnés
aide moi,donne moi un prg concret s'il te plait
pour valider email

n°1926163
Lenoiche
Posté le 23-09-2009 à 14:32:13  profilanswer
 

Tiens de la doc
 
http://prevert.upmf-grenoble.fr/Pr [...] ieres.html
 
en un mot, documente toi sur les expressions regulieres en java

n°1926293
souk
Tourist
Posté le 24-09-2009 à 02:30:51  profilanswer
 

ou utilise java mail, normalement InternetAddress peut te servir
 http://java.sun.com/products/javam [...] dress.html

n°1926297
cbeyls
Hail to the King, Baby
Posté le 24-09-2009 à 03:09:13  profilanswer
 

Si cela peut t'aider, j'ai écrit une expression régulière qui valide une adresse e-mail quand j'ai écrit un serveur SMTP il y a quelques années. La voici:
 

Code :
  1. (?:\w|[\-_])+(?:\.(?:\w|[\-_])+)*\@(?:\w|[\-_])+(?:\.(?:\w|[\-_])+)*


 
Attention, en Java l'expression régulière doit être écrite entre guillements "" et donc les \ que j'ai écrit ci-dessus doivent être doublés.
 
Cette expression accepte tout type de nom de domaine valide, y compris les domaines locaux. Par exemple l'adresse suivante est permise: user@localhost

n°1926300
souk
Tourist
Posté le 24-09-2009 à 03:31:26  profilanswer
 

m'est avis que ta regex respecte pas la RFC [:souk]

n°1926308
masklinn
í dag viðrar vel til loftárása
Posté le 24-09-2009 à 08:26:38  profilanswer
 

souk a écrit :

m'est avis que ta regex respecte pas la RFC [:souk]


Gagné :o
 
De toute façon, le seul moyen de valider correctement une addresse e-mail, c'est de l'utiliser [:elessar53]  
 
Parce que vu la gueule de la regex RFC822… [:totoz]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
mood
Publicité
Posté le 24-09-2009 à 08:26:38  profilanswer
 

n°1926322
domxaline
Posté le 24-09-2009 à 10:21:30  profilanswer
 

cbeyls a écrit :

Si cela peut t'aider, j'ai écrit une expression régulière qui valide une adresse e-mail quand j'ai écrit un serveur SMTP il y a quelques années. La voici:
 

Code :
  1. (?:\w|[\-_])+(?:\.(?:\w|[\-_])+)*\@(?:\w|[\-_])+(?:\.(?:\w|[\-_])+)*


 
Attention, en Java l'expression régulière doit être écrite entre guillements "" et donc les \ que j'ai écrit ci-dessus doivent être doublés.
 
Cette expression accepte tout type de nom de domaine valide, y compris les domaines locaux. Par exemple l'adresse suivante est permise: user@localhost


 

(?:\w|[\-_])+(?:\.(?:\w|[\-_])+)*\@(?:\w|[\-_])+(?:\.(?:\w|[\-_])+)*


justement tu peux m'expliquer en details cette ligne s'il te plaît ,je suis perdu dedans
 
et encore ceci:


"^[a-zA-Z]+[a-zA-Z0-9\\._-]*[a-zA-Z0-9]@[a-zA-Z]+"+ "[a-zA-Z0-9\\._-]*[a-zA-Z0-9]+\\.[a-zA-Z]{2,4}$";

Message cité 1 fois
Message édité par domxaline le 24-09-2009 à 10:23:41
n°1926326
masklinn
í dag viðrar vel til loftárása
Posté le 24-09-2009 à 10:32:12  profilanswer
 

domxaline a écrit :

je suis perdu dedans


Maintenant tu sais pourquoi il ne faut pas utiliser d'expression rationnelle quand il n'y en a pas besoin.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1926395
cbeyls
Hail to the King, Baby
Posté le 24-09-2009 à 15:04:21  profilanswer
 

Dans le bouquin "Mastering Regular Expressions" de Jeffrey F. Friedl, l'auteur cite une expression régulière qui valide une adresse e-mail en respectant à la lettre le standard et si je me souviens bien, elle fait plusieurs pages de son bouquin.
 
Tout dépend des pré-requis. L'expression que je donne là est un bon point de départ. Après on peut la modifier pour également accepter les caractères <> entourant l'adresse, ou forcer l'expression à se terminer par une extension de domaine valide du genre .fr, .com, .net, .be ou autres.
 
En gros l'expression que je cite accepte les groupes de lettres ou chiffres (\w) ou underscore ou tiret, séparés par des points, avant et après le "@". Certaines exceptions ne sont sans doute pas prises en compte. Il faudrait relire la RFC. Mais c'est déjà pas mal pour éliminer de nombreuses adresses invalides.

n°1926398
masklinn
í dag viðrar vel til loftárása
Posté le 24-09-2009 à 15:10:38  profilanswer
 

cbeyls a écrit :

Dans le bouquin "Mastering Regular Expressions" de Jeffrey F. Friedl, l'auteur cite une expression régulière qui valide une adresse e-mail en respectant à la lettre le standard et si je me souviens bien, elle fait plusieurs pages de son bouquin.


http://ex-parrot.com/~pdw/Mail-RFC822-Address.html

cbeyls a écrit :


Tout dépend des pré-requis. L'expression que je donne là est un bon point de départ. Après on peut la modifier pour également accepter les caractères <> entourant l'adresse, ou forcer l'expression à se terminer par une extension de domaine valide du genre .fr, .com, .net, .be ou autres.
 
En gros l'expression que je cite accepte les groupes de lettres ou chiffres (\w) ou underscore ou tiret, séparés par des points, avant et après le "@". Certaines exceptions ne sont sans doute pas prises en compte. Il faudrait relire la RFC. Mais c'est déjà pas mal pour éliminer de nombreuses adresses invalides.


Je check 2 choses perso: il y a un "@" et il y a au moins un "." après le "@".


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1926414
cbeyls
Hail to the King, Baby
Posté le 24-09-2009 à 15:46:35  profilanswer
 

S'il faut qu'il y ait au moins un "." après le "@", il peut utiliser mon expression et remplacer le * final par un +

n°1926479
souk
Tourist
Posté le 24-09-2009 à 18:28:15  profilanswer
 

masklinn a écrit :


Je check 2 choses perso: il y a un "@" et il y a au moins un "." après le "@".


+1 de toute facon les gens vont faire des erreurs et entrer une adresse valide qui n'est pas la leur ou qui n'existe pas et ca il n'y a qu'un seul et unique moyen de le verifier [:dawa]

n°1926490
domxaline
Posté le 24-09-2009 à 19:36:58  profilanswer
 

masklinn a écrit :


Maintenant tu sais pourquoi il ne faut pas utiliser d'expression rationnelle quand il n'y en a pas besoin.


 
en ecrivant cette ligne  


if(mail.matches("?:\w|[\-_])+(?:\.(?:\w|[\-_])+)*\@(?:\w|[\-_])+(?:\.(?:\w|[\-_])+" )*)


 
 

"?:\w|


souligné en mettant le souris sur la ligne il m'indique
invalide escape sequence (valid onces are   \b  \t  \n  \f  \r  \"  \'  \\ )
 
expliquez s'il vous plaît

n°1926554
cbeyls
Hail to the King, Baby
Posté le 24-09-2009 à 22:31:22  profilanswer
 

J'ai écrit qu'il fallait doubler les backslashes...

n°1926563
domxaline
Posté le 24-09-2009 à 22:52:37  profilanswer
 

cbeyls a écrit :

J'ai écrit qu'il fallait doubler les backslashes...


 


if(mail.matches("?:\\w|[\-_])+(?:\.(?:\w|[\-_])+)*\@(?:\w|[\-_])+(?:\.(?:\w|[\-_])+" )*)


 
maintenant la ligne est souligné jusqu'au

"?:\\w|[\-_

n°1926569
cbeyls
Hail to the King, Baby
Posté le 24-09-2009 à 23:07:45  profilanswer
 

C'est quand même pas compliqué, tu doubles les backslashes et tu mets des "" autour:
 

Code :
  1. if (mail.matches("(?:\\w|[\\-_])+(?:\\.(?:\\w|[\\-_])+)*\\@(?:\\w|[\\-_])+(?:\\.(?:\\w|[\\-_])+)+" )) {

n°1926621
domxaline
Posté le 25-09-2009 à 09:23:11  profilanswer
 

cbeyls a écrit :

C'est quand même pas compliqué, tu doubles les backslashes et tu mets des "" autour:
 

Code :
  1. if (mail.matches("(?:\\w|[\\-_])+(?:\\.(?:\\w|[\\-_])+)*\\@(?:\\w|[\\-_])+(?:\\.(?:\\w|[\\-_])+)+" )) {



 
merci beaucoup,ça marche
je suis un debutant en java;explique moi s'il te plaît cette ligne

n°1926630
masklinn
í dag viðrar vel til loftárása
Posté le 25-09-2009 à 09:55:05  profilanswer
 

domxaline a écrit :


 
merci beaucoup,ça marche
je suis un debutant en java;explique moi s'il te plaît cette ligne


Putain mais tu veux pas faire des recherches par toi même et réfléchir, un peu [:pingouino dei]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1926696
cbeyls
Hail to the King, Baby
Posté le 25-09-2009 à 13:11:31  profilanswer
 

Je croyais que tu avais écrit cette ligne parce que tu savais ce qu'elle faisait. Elle teste si la chaîne de caractère stockée dans la variable "mail" est une adresse e-mail valide.

n°1926782
domxaline
Posté le 25-09-2009 à 17:58:19  profilanswer
 

cbeyls a écrit :

Je croyais que tu avais écrit cette ligne parce que tu savais ce qu'elle faisait. Elle teste si la chaîne de caractère stockée dans la variable "mail" est une adresse e-mail valide.


 
c'est vrai ce n'est pas moi qui ecris cette ligne
je veux comprendre cette ligne en details
tu peux m'aider

n°1926795
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 25-09-2009 à 19:24:25  profilanswer
 

domxaline a écrit :


 
c'est vrai ce n'est pas moi qui ecris cette ligne
je veux comprendre cette ligne en details
tu peux m'aider


http://www.siteduzero.com/tutoriel [...] e-1-2.html


---------------
J'ai un string dans l'array (Paris Hilton)
n°1926845
cbeyls
Hail to the King, Baby
Posté le 25-09-2009 à 22:18:47  profilanswer
 

L'expression entre guillemets est ce qu'on appelle une expression régulière, Google te renseignera mieux que moi à ce sujet.

Message cité 1 fois
Message édité par cbeyls le 25-09-2009 à 22:19:06
n°1926857
domxaline
Posté le 25-09-2009 à 23:11:02  profilanswer
 

cbeyls a écrit :

L'expression entre guillemets est ce qu'on appelle une expression régulière, Google te renseignera mieux que moi à ce sujet.


 
merci beaucoup, je vais jeter un coup d'oeil

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  controle saissie d'une adresse email

 

Sujets relatifs
script récuperation emailProbléme avec mon formulaire Email
[VBA] Récupérer adresse Outlook activeaccès à fonction importée à accè à fonction importé.
Définir le chemin de l'adresse webTromper les robots détecteurs d'adresses email
Montrer un site web html en filtrant pour cacher l'adresse ?Contrôle d'IE par vba
Contrôle caméra sous labview...[Urgent] Erreur en recherchant par adresse MAC
Plus de sujets relatifs à : controle saissie d'une adresse email


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR