rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Verifier l' email dans un formulaire

rucht, le mardi 15 juin 2004 à 16:28:15
bijour

je doit verifier si un email a le bon format dans un formulaire mais je c le faire qu' en php ce qui n 'est pas tres pratique alors il y a deux solution ou je met un script en javascript ( mais moi le javascript ... )

ou je trouve un moyen de rediriger ver une autre page en php !

si qq a une des deux soluce ce serai simpa !

rucht ( chercheur a temp compler )
Répondre à rucht  Signaler ce message aux modérateurs Aller au dernier message

1


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
HackTrack, le jeudi 24 juin 2004 à 12:41:12
Qu'entends-tu par "vérifier si un e-mail a le bon format"?
Contrôler que l'adresse est bien au format xxxxx@yyyyy.zzz ?
Répondre à HackTrack

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
rucht, le jeudi 24 juin 2004 à 13:28:43
oui mais il faut faire gaffe au fait des espace , des truck comme sa qui ne sont pas admi ...

enfin c ' est pas grave j' ai trouver une appliquation javascript qui le fait presque et deriere j' ai mis une page en php qui verifie tout bien !!

c 'est tres loin d' etre infaible mais sa fait "garde fou" ....

merci quand meme de ton post !!!

surtout si longtemp apre la date ou j' ai fait ce post ...

rucht ( surpri ... )
Répondre à rucht

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Buzzz, le jeudi 24 juin 2004 à 13:46:07
Salut Rucht,
voici un fonction JS qui est censé verifie l@ mail mais elle ne marche pas chez moi mais ca peut peut-etre t'aider
//Verifie l'adresse E-Mail
function verifmail(adrr){
  var reg= /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/;
  if(reg.test(ch1)==true) windows.alert(ch1," est une adresse valide");
  else windows.alert(ch1," n'est pas une adresse valide");  
}

Tchô!!
Répondre à Buzzz

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Buzzz, le jeudi 24 juin 2004 à 13:48:58
Euh!! Je viens de voir pourquoi elle marche pas j'ai mis ch1 au lieu de Adrr ou le contraire je vais la teste pour voir si sa marche mais normalement ca doit marche c'est mon prof d'info qui nous la donné dans ses cours.
A+
Répondre à Buzzz

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
rucht, le jeudi 24 juin 2004 à 16:06:34
lol !!

il faut relire ces cour !!

rucht ( qui fait une pause ... )
Répondre à rucht

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Ramses__, le jeudi 24 juin 2004 à 19:17:08
Tu rajoutes type="url" a l'input pour mettre l'email :)

++
Répondre à Ramses__

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
txiki, le vendredi 25 juin 2004 à 00:14:07
Salut a tous,
Voici un truc du site allatml. Je n'ai pas essayé celui là mais d'autres sur ma page d'un formulaire ( http://abarka.free.fr/Locations/formulaire_loc.html ).

Contrôle d'une adresse mail
1. Compatiblité
I.Explorer : Oui
Netscape : Oui

2. Description et scripts
Ce script permet de contrôler l'adresse électronique d'un formulaire, en détectant la présence de l'arobase (@) dans le champs spécifié. Exemple avec un formulaire comportant un champ appelé EMAIL (contenant l'adresse électronique).

<script language="javascript">
<!--
function arobaceok(EMAIL)
{
var a=document.forms[0].EMAIL.value;
var test="" + a;
for(var k = 0; k < test.length;k++)
{
var c = test.substring(k,k+1);
if(c == "@")
{
return true;
}
}
alert("Votre E-mail, Merci");
return false;
}
//-->
</script>


Après avoir placé ce script entre les balises </title> et </head>, vous devez tester l'envoi du formulaire en ajoutant l'événement Onsubmit à la balise <form>.

<form method=post action="post" name="AVIS" OnSubmit="return arobaceok(EMAIL)">


Bonne chance !!!

http://abarka.free.fr
Un adulte assis voit plus loin qu'un jeune debout.
Répondre à txiki

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
le père, le mercredi 5 décembre 2007 à 16:29:17
bonjour

Truc à ne pas employer. Ce n'est pas un test, c'est une passoire à très gros trous.
@ tout court, @@@ ou !/#@ sont des adresses valables pour ce test
Répondre à le père

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Ramses__, le vendredi 25 juin 2004 à 00:54:56
Pourquoi allé jusq'au javascript alors que le html permet de faire la même chose ? :O ( <input name="machin" ... type="url">
Répondre à Ramses__

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
SirHill, le vendredi 25 juin 2004 à 01:38:15
Afin de vérifier que l'adresse saisie soit valide.
Répondre à SirHill

10


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
SirHill, le vendredi 25 juin 2004 à 01:50:14
Salut,

Voici un exemple de script:

<SCRIPT language="JavaScript">
<!--

function VerifMail()
	{
	a = document.Verif.Mail.value;
	valide1 = false;
	
	for(var j=1;j<(a.length);j++){
		if(a.charAt(j)=='@'){
			if(j<(a.length-4)){
				for(var k=j;k<(a.length-2);k++){
					if(a.charAt(k)=='.') valide1=true;
				}
			}
		}
	}
	if(valide1==false) alert("Veuillez saisir une adresse email valide.");
	return valide1;
	}

//-->
</SCRIPT>

Place ce code dans la balise form:
onsubmit="return VerifMail();"

Remarque:
Dans cet exemple, le formulaire a pour attribut name="Verif" et le champ de saisie de l'adresse e-mail a pour attribut name="Mail"
... à modifier éventuellement :)

A+
Répondre à SirHill

16


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
frati, le lundi 4 février 2008 à 09:50:48
Impec le bout de code, merci
Répondre à frati

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
duffmanbzh, le mercredi 5 décembre 2007 à 16:15:47
Beaucoup plus simple !!!

function verifiermail(mail) {
if(mail!=""){
if ((mail.indexOf("@")>=0)&&(mail.lastIndexOf(".")>mail.indexOf("@"))) {
return true
} else {
alert("Mail invalide");
return false
}
}else{
return true
}
}
Répondre à duffmanbzh

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
tompsy, le mercredi 5 décembre 2007 à 16:34:14
C'est tout de meme plus facile si tu le fait par PHP ... VU que tu vas utliliser du php pour récupérer les données de ton formulaire .. non?
Répondre à tompsy

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Christophe B., le dimanche 30 décembre 2007 à 15:39:28
Un test de validité d'un champ se fait toujours du coté client. On ne balance le formulaire qu'après avoir vérifié tout ce qui peut être vérifié coté client. Ca c'est pour la rigueur ! Celà ne dispense pas d'une seconde batterie de tests ensuite en PHP.

Cependant, il peut être utile de vérfier également si le domaine de l'email existe vraiment, pour celà, on ne coupe pas à l'utilisation de PHP après validation du formulaire..Si ce n'est pas nécessaire, JAVASCRIPT !!!. Le serveur est à épargner si possible.

A ceux qui me répondraient ... et si Javascript est désactivé ? ... je réponds... pas d'envoi de formulaire.
Désactiver son javascript...a part pour chercher des passoires ca n'offre que des intérêts très limités surtout en ces temps ou les fonctionnalités Web2.0 nécessitent Javascript partout.
Répondre à Christophe B.

15


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
frati, le lundi 4 février 2008 à 09:49:14
Impec ton code, efficace. Merci
Répondre à frati

17


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Kharma, le lundi 25 février 2008 à 08:55:55
Tout à fait d'accord avec Christophe B...

Celui qui désactive Javascript dans son navigateur est vraiment parano puisqu'aucune fonction n'a de réelles incidences sur la sécurité d'un pc (heureusement d'ailleurs) : pas d'accès au disque en lecteure ou écriture et les scripts ne sont actifs que lorsque la page est chargée ; plus de page, plus de script...

Pour en revenir au sujet, perso j'utilise cette fonction, un peu plus poussée que celles expliquées ici (désolé) :

isEmail = function(emailStr) {
	var checkTLD = 1;
	var knownDomsPat = /^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|­pro|museum|fr)$/;
	var emailPat = /^(.+)@(.+)$/;
	var specialChars = "\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars = "\[^\\s" + specialChars + "\]";
	var quotedUser = "(\"[^\"]*\")";
	var ipDomainPat = /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom = validChars + '+';
	var word = "(" + atom + "|" + quotedUser + ")";
	var userPat = new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat = new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray = emailStr.match(emailPat);
	if (matchArray == null) { return false; }
	var user = matchArray[1];
	var domain = matchArray[2];
	for (i=0; i<user.length; i++) {
		if (user.charCodeAt(i) > 127) { return false; }
	}
	for (i=0; i<domain.length; i++) {
		if (domain.charCodeAt(i) > 127) { return false; }
	}
	if (user.match(userPat) == null) { return false; }
	var IPArray=domain.match(ipDomainPat);
	if (IPArray != null) {
		for (var i=1; i<=4; i++) {
			if (IPArray[i] > 255) { return false; }
		}
		return true;
	}
	var atomPat = new RegExp("^" + atom + "$");
	var domArr = domain.split(".");
	var len = domArr.length;
	for (i=0; i<len; i++) {
		if (domArr[i].search(atomPat) == -1) { return false; }
	}
	if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) { return false; }
	if (len < 2) { return false; }
	return true;
}


Cette fonction renvoit un booléen : false en cas d'échec, true si la syntaxe de l'adresse est exacte (ce qui ne veut pas dire qu'elle existe). Disons que ça évite bon nombre d'erreurs de frappe et comme le fait remarquer Christophe B., ça ne dispense pas de faire d'autres tests coté serveur une fois le formulaire soumis...

Petite précision sur la fonction (qui fonctionne très bien sur mes sites depuis des années). Les extensions de domaines définnies au début (.com, .net, etc...) n'ont pas besoin d'etre étendues. Par exemple une adresse email anglaise du type "myaddress@mysite.co.uk" est très bien comprise...

Pour ceux qui s'intéressent de près au Javascript, je préconise de vous pencher sur d'excellentes solutions comme Prototype et/ou Scriptaculous qui font des merveilles et rendent la programmation dans ce langage plus facile. Par contre si c'est juste pour vérifier la syntaxe d'une adresse email, c'est clair que c'est pas très rentable...
Répondre à Kharma

18


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
donrich, le samedi 1 mars 2008 à 03:22:44
Pour ce qui est de ce code qui me semble excellent, je ne sais pas vraiment où le placer à travers mes autres code. Je suis plus que débutant dans ce domaine... De plus comment je fais pour faire apparaître le message d'erreur si "false" ?
Voici le code que j'utilise présentement :

<script type="text/javascript">
<!--
function verif_formulaire()
{
if(document.formulaire.Nom.value == "") {
alert("Veuillez entrer votre nom!");
document.formulaire.Nom.focus();
return false;
}
if(document.formulaire.Prenom.value == "") {
alert("Veuillez entrer votre prenom!");
document.formulaire.Prenom.focus();
return false;
}
if(document.formulaire.Email.value == "") {
alert("Veuillez entrer votre adresse électronique!");
document.formulaire.Email.focus();
return false;
}
if(document.formulaire.Email.value.indexOf('@') == -1) {
alert("Il y a une erreur à votre adresse électronique!");
document.formulaire.Email.focus();
return false;
}
if(document.formulaire.Message.value == "") {
alert("Veuillez entrer votre message!");
document.formulaire.Message.focus();
return false;
}
var chkZ = 1;
for(i=0;i<document.formulaire.Telephone.value.length;++i)
if(document.formulaire.Telephone.value.charAt(i) < "0"
|| document.formulaire.Telephone.value.charAt(i) > "9")
chkZ = -1;
if(chkZ == -1) {
alert("Votre téléphone doit contenir que des nombres!");
document.formulaire.Telephone.focus();
return false;
}
}
//-->
</script>
Répondre à donrich

19


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
donrich, le jeudi 6 mars 2008 à 23:31:50
Personne pour m'aider ???? Help !
J'ai bien aimé le script de Kharma, mais je ne sais pas vraiment le mettre en place dans mes codes. Ce que j'utilise présentement pour la vérification de mon champ "mail" est trop simple pas suffisamment sécuritaire. Donc j'aurais aimé utiliser le script de Kharma qui me semble beaucoup plus complet.

Je l'utilise comment ? Pardonné ma nulité dans ce domaine. Je suis concepteur infographiste et non programmeur. J'y travail, mais j'ai ce problème à régler en urgence d'où ma demande d'aide.
Merci au courageux qui voudrais bien me répondre.
Répondre à donrich

20


  • 4
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
sebeto, le jeudi 17 avril 2008 à 19:35:11
Une fonction simple pour tester la validité d'un adresse mail en javascript... Moins compliquée que celle de Kharma, mais largement suffisante à mon avis...
Voici un code beaucoup plus efficace à mon avis :

function bonmail(mailteste)

{
	var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]­{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i');

	if(reg.test(mailteste))
	{
		return(true);
	}
	else
	{
		return(false);
	}
}


Cette fonction javascript teste qu'une adresse mail est syntaxiquement correcte...
Répondre à sebeto

21


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
sinoplez, le mercredi 14 mai 2008 à 14:02:51
Tous les tests d'intégrité de donnée doivent toujours être effectué par le serveur pour des raisons de sécurité.

Il est en effet extrêmement facile de simuler un envoi de formulaire (par POST ou GET) sans passer par un navigateur internet. Il est donc impossible de garantir la fiabilité d'un input de la part d'un visiteur sur votre site web.

Les javascripts ne sont la que pour décharger le serveur des erreurs de l'utilisateur standard.

Ensuite tout site web doit être en théorie fonctionnel sans aucun javascript pour des raisons d'accés + sécurité. Ca c'est la rigueur.

Dire que les utilisateurs sans javascript j'en veux pas, c'est comme dire je veux pas installer de rampe pour handicapé à coté de mon escalier.

Faites attention à ne pas faire n'importe quoi avec des javascripts sous le sacro saint du web 2.0 (qui a une définition plus large que javascript über alles).
Répondre à sinoplez

22


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
TTropNaze, le jeudi 22 mai 2008 à 07:20:07
Il faudrait arrêter de dire n'importe... Les champs d'un formulaire doivent être Checké avant le Submit ET après.

Pourquoi ?

Tout simplement pour une raison pratique : Si on ne verifie pas AVANT, et que les données sont erronées, celà nous oblige à appeler une page de verification, puis de rappeler le formulaire si celui ne passe pas, amoins d'utilisé un peu d'ajax ce qui n'arrange en rien la chose.

La verification avant envoie, couplé à la proprièté disabled du bouton submit tant que les conditions minimales ne sont pas remplient evite par exemple qu'un internaute mal intentionné ne valide son formulaire sans s'être relu. Celà evite également des refresh ou reload intempestif. Si quelqu'un tente de contourner le formulaire, la verification côté serveur s'en rendra compte et stoppera l'execution du script.

En ce qui concerne la sécurité, JavaScript n'est en rien un probleme, sauf si on ne sait pas respecter les recommandations. Si tout est bien codé, il n'y a aucune raison qu'il y ai un probleme de sécurité. Deplus, si l'on verifie le formulaire AVANT envoie, celà aurait plus tendance à sécurisé le formulaire qu'a l'insécurisé.

Quand à la question de l'accès, le javascript n'empêche en rien l'accès à un site web. Encore une fois, si c'est bien fait tout passe pour le mieux. De plus, les gens désactivants javascript sont comme dit plus haut plutôt parano... Sachant en prime qu'aujourd'hui plus de 95% des sites utilisent du javascript couplé à d'autre langage.

Bref, pour conclure, je dirais que parfois il faudrait penser à refléchir et se renseigné avant de raconter tout et n'importe quoi.
Répondre à TTropNaze

23


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 martin, le mardi 19 août 2008 à 00:34:07
Et l'accessibilité dans tout ça?
Je suis d'accord pour dire que quelqu'un naviguant sous Firefox avec javascript désactivé a de bonnes chances d'être parano, mais s'il est sous opera mini? ou tout autre navigateur mobile ne supportant pas ou supportant mal le javascript?
Pour bien faire un site doit fonctionner parfaitement sans javascript, celui-ci ne devant qu'aider à rendre la navigation plus fluide/animée.
Répondre à martin
Logiciels pertinents trouvés dans les téléchargements
Télécharger Email remover 2.4Email remover - il s'utilise avant votre lecteur de courrier et permet d'éffacer ,CHEZ VOTRE F.A.I. les messages que vous séléctionnerez...Catégorie: Courrier électronique
Licence: Freeware/gratuit
Télécharger Iconix eMail ID 3.60.1Iconix eMail ID - Si vous en avez marre de recevoir des e-mails frauduleux non reconnus, appelés communément des spams en tout genre, alors...Catégorie: Courrier électronique
Licence: Freeware/gratuit
Télécharger HTML Tidy 0.008HTML Tidy - HTML Tidy est un utilitaire permettant de vérifier et d'optimiser tout code HTML. La version originale de cet utilitaire...Catégorie: Webmaster
Licence: Freeware/gratuit
Télécharger Email Notifier   2.10Email Notifier - Il est fréquent que vous receviez un courriel que vous ne voulez même pas télécharger ou voir sur votre compte POP3. Même en...Catégorie: Courrier électronique
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « verifier l' email dans un formulaire »