Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/05/2011, 14h30   #1
Nouveau Membre du Club
 
Étudiant
Inscription : février 2005
Messages : 116
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2005
Messages : 116
Points : 29
Points : 29
Envoyer un message via AIM à xavier1936 Envoyer un message via MSN à xavier1936
Par défaut Verification adresse mail

Bonjour,

Je voudrais savoir comment fait-on pour valider une adresse mail lorsque l'on soumet un formulaire.

Je voudrais que mon adresse finisse toujour par "@toto.fr"

merci
xavier1936 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 15h25   #2
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 686
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 686
Points : 5 757
Points : 5 757
Bonjour,

Citation:
Envoyé par xavier1936 Voir le message
lorsque l'on soumet un formulaire
Tout dépend ce que veut dire "lorsque". Si c'est avant la soumission, alors vous pouvez utiliser le Javascript avec les Expressions Régulières.
Si c'est après la soumission, ce sera avec un langage serveur et... les Expressions Régulières.

Vous pouvez-faire une recherche sur le forum. Le cas du mail y est sûrement traité plus d'une fois. (mot-clef : RegExp).
__________________
Elen Poukram - Isegoria - Sandawe
vermine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 15h32   #3
Membre Expert
 
Avatar de Loceka
 
Tlouye Ci
Inscription : mars 2004
Messages : 1 450
Détails du profil
Informations personnelles :
Nom : Tlouye Ci

Informations forums :
Inscription : mars 2004
Messages : 1 450
Points : 2 149
Points : 2 149
En même temps utiliser des regex pour tester si une chaîne de caractère se termine par une sous-chaine c'est un peu abuser...

Le plus simple c'est de faire un indexOf().
Loceka est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/05/2011, 15h35   #4
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 686
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 686
Points : 5 757
Points : 5 757
Effectivement.
Cependant, la RegExp permet de préciser le "finisse toujours par" et qu'il n'y ait qu'une seule fois l'occurrence.
__________________
Elen Poukram - Isegoria - Sandawe
vermine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 15h48   #5
Membre Expert
 
Avatar de Loceka
 
Tlouye Ci
Inscription : mars 2004
Messages : 1 450
Détails du profil
Informations personnelles :
Nom : Tlouye Ci

Informations forums :
Inscription : mars 2004
Messages : 1 450
Points : 2 149
Points : 2 149


Autant je suis d'accord sur le fait qu'il vaut mieux utiliser des regex pour les validation en général, autant ce que tu avances pour vanter les mérites des regex est relativement faux.

Il est assez difficile d'écrire une regex permettant de vérifier le nombre d'occurence d'une sous-chaîne (de plus d'un caractère). En l'occurrence, vérifier qu'il n'y a qu'une seule occurrence de "@toto.fr" dans la chaîne serait assez pénible à mettre en regex.

Alors que le fait d'écrire ça marchera toujours :
Code :
1
2
var finMail = "@toto.fr";
var mailValide = mail.indexOf(finMail) == (mail.length - finMail.length);
Ca teste que la première occurrence de "@toto.fr" se trouve à la fin de la chaîne. En d'autre termes ça teste qu'il existe une et une seule occurrence de "@toto.fr" dans la chaîne.

Avec une regex faut s'amuser pour écrire ça... (bon, dans le cas d'un mail c'est simple, il suffit de s'assurer qu'il n'y a pas de "@" avant celui qu'on cherche mais en général c'est loin d'être simple).
Loceka est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/05/2011, 15h56   #6
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 686
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 686
Points : 5 757
Points : 5 757
Par défaut \o/

Au temps pour moi.
Je n'avais pas imaginé que l'on puisse s'en sortir en une seule ligne.



Romain, j'y vois une idée de plus pour tes petits jeux.
__________________
Elen Poukram - Isegoria - Sandawe
vermine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 18h33   #7
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
Avec une regExp en test ou match

Code :
1
2
3
4
5
var mail1="truc@toto.fr";
var mail2="truc@tata.fr";
 
alert((/[a-z]{2,}@toto.fr$/i).test(mail1))
alert((/[a-z]{2,}@toto.fr$/i).test(mail2))
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 04/05/2011, 14h33   #8
Expert Confirmé
 
Avatar de sekaijin
 
Femme
Urbaniste
Inscription : juillet 2004
Messages : 1 420
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 48
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Urbaniste
Secteur : Santé

Informations forums :
Inscription : juillet 2004
Messages : 1 420
Points : 2 807
Points : 2 807
j'utilise une (des expression régulières)
Code :
1
2
3
4
{
  'email'            : '^[0-9a-zA-Z_\-]+(\\.)?[0-9a-zA-Z_\-]*@([0-9a-zA-Z_-]+\\.)+[a-zA-Z]{2,4}$',
  'emailOrNull'      : '^[0-9a-zA-Z_\-]+(\\.)?[0-9a-zA-Z_\-]*@([0-9a-zA-Z_-]+\\.)+[a-zA-Z]{2,4}$|^$'
}
A+JYT
sekaijin est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 04/05/2011, 14h38   #9
Nouveau Membre du Club
 
Étudiant
Inscription : février 2005
Messages : 116
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2005
Messages : 116
Points : 29
Points : 29
Envoyer un message via AIM à xavier1936 Envoyer un message via MSN à xavier1936
Merci pour vos solutions
xavier1936 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h18.


 
 
 
 
Partenaires

Hébergement Web