begin process at 2013 05 23 18:24:19
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > VÉRIFICATION D'UN EMAIL EN PHP (EXPRESSIONS RÉGULIÈRES/PCRE)

VÉRIFICATION D'UN EMAIL EN PHP (EXPRESSIONS RÉGULIÈRES/PCRE)


 Information sur la source

Note :
1 / 10 - par 1 personne
1,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Astuces Classé sous :expression régulière, PCRE, vérification, email, php Niveau :Débutant Date de création :28/12/2012 Date de mise à jour :28/12/2012 23:10:37 Vu :3 298

Auteur : younesherlock

Ecrire un message privé
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

Ce code implémente un script en php qui vérifie si une chaîne de caractères saisie par l'utilisateur correspond bien à une adresse email. Il s'agit de l'utilisation des expressions régulières du langage PCRE (Perl Compatible Regular Expressions). Un code HTML a également été mis en place pour une pratique immédiate !
Bon courage !

Source

  • <!DOCTYPE html>
  • <html>
  • <head>
  • <title>Vérification email</title>
  • </head>
  • <body>
  • <form action="email_check.php" method="post" >
  • email : <input type="text" name="email" /><br/>
  • <input type="submit" value="Vérifier" />
  • </form>
  • <?php
  • if( isset($_POST['email']) ){
  • if( preg_match('#^[a-zA-Z0-9]+[\w.-]*@[a-z0-9._-]{2,}\.[a-z]{2,4}$#', htmlspecialchars($_POST['email'])) ){
  • echo 'L\'adresse email <strong>' .htmlspecialchars($_POST['email']). '</strong> est valide !';
  • }
  • else echo 'L\'adresse email <strong>' .htmlspecialchars($_POST['email']). '</strong> est invalide !';
  • }
  • else echo 'Prière de taper une adresse email !';
  • ?>
  • </body>
  • </html>
<!DOCTYPE html>
<html>
<head>
<title>Vérification email</title>
</head>

<body>

<form action="email_check.php" method="post" >
email :	<input type="text" name="email" /><br/>
<input type="submit" value="Vérifier" />
</form>


<?php 

if( isset($_POST['email']) ){

if( preg_match('#^[a-zA-Z0-9]+[\w.-]*@[a-z0-9._-]{2,}\.[a-z]{2,4}$#', htmlspecialchars($_POST['email'])) ){
echo 'L\'adresse email <strong>' .htmlspecialchars($_POST['email']). '</strong> est valide !';
}
else echo 'L\'adresse email <strong>' .htmlspecialchars($_POST['email']). '</strong> est invalide !';
}
else echo 'Prière de taper une adresse email !';
?>

</body>
</html>



 Historique

28 décembre 2012 23:10:37 :
Modification de l'expression régulière : #^[a-zA-Z0-9]+[\w.-]*@[a-z0-9._-]{2,}\.[a-z]{2,4}$# pour accepter les adresses email de type me.john@gmail.com (par exemple)

 Sources de la même categorie

CRÉER PLUS FACILEMENT UNE CLASSE D'EXCEPTIONS par bebert2310
Source avec une capture SYNCHRONISATION DE DEUX DOSSIERS par dlasserre
Source avec Zip CSS DYNAMIQUE par Yanith
ARRAY_WALK_RECURSIVE POUR PHP4 par Boris090
Source avec Zip AFFICHAGE AUTOMATIQUE PERSONNALISABLE À PARTIR D'UNE DATE DO... par aurelWeb

 Sources en rapport avec celle ci

Source avec Zip VÉRIFICATION DE FORMULAIRE EN PHP par psonic13
CLASSE SIMPLE EMAIL par Odradek
Source avec Zip Source avec une capture CLASSE DE MESSAGERIE par janhsh
Source avec Zip VÉRIFICATION SYNTAXIQUE DE L'ADRESSE EMAIL par namstou3
Source avec Zip CLASS D' ENVOIE DE MAIL EN SMTP par ImmortalPC

Commentaires et avis

Commentaire de wanou95b le 29/12/2012 13:53:04

C'est bien mais ta source n'est pas très originale. L'expression régulière de vérification d'email est partout sur le net.
De plus tu devrais utiliser une fonction avec ton test et en retour un booléen voir directement ton message.

Commentaire de alfrai le 31/12/2012 00:16:38

Merci pour le rappel.  Je test!

Commentaire de tabasconemesis le 03/01/2013 12:31:07

Et/ou utiliser filter_input pour ton $_POST avec un flag VALIDATE ou SANITIZE.
( bon d'accord on perd alors l'interêt de réviser les exp reg )
html input type, il y a le type="email" disponible sur pas mal de clients maintenant.

Commentaire de BaFM le 03/01/2013 22:23:45

Bonjour, en plus de ne pas être originale, comme l'a fait remarqué wandu958, ton expression régulière élimine une quantité phénoménale d'adresses valides. Voir la RFC 5322. Avec de très bon articles de Stéphane Bortzmeyer http://www.bortzmeyer.org/5322.html et http://www.bortzmeyer.org/arreter-d-interdire-des-adresses-legales.html.

Commentaire de younesherlock le 03/01/2013 23:04:39

Merci pour vos commentaires.
Pour la question d'originalité, je considère mon code comme original du fait que c'est moi qui l'ai écrit sans avoir recours à faire du copier-coller. L'algorithme est le mien. Peut-être que d'autres personnes l'ont déjà implémenté de la même manière, n'empêche que c'est ma façon de résoudre le problème.
Merci pour vos précisions. Je prendrai en compte les changements qu'il faudrait faire.

Commentaire de W@$h! le 07/01/2013 11:35:46

Algorithme = ensemble d'étapes permettant de passer d'un état initial à un état final.
Dans ce cas, on a seulement... un if. On peut difficilement parler d'algorithme...

Commentaire de wanou95b le 07/01/2013 21:06:43 1/10

L'originalité c'est à double sens : parce que effet, on en est le créateur, c.est à dire à l'origine. De mon point vu, je parlais d originalité car le partage de ta source, puisque tu insistes, n à aucun intérêt. L expression régulière de contrôle d email est partout sur le net. Tapes dans Google "expression régulière contrôle email et tu verras... D autre part, ton algorithme est plus que rudimentaire pour ne pas dire totalement basique, d ou le manque total d originalité.
Comme on te l à fait remarqué, l originalité aurait été d utiliser le nouveau type input email nouvellement présent dans html5.

Commentaire de younesherlock le 07/01/2013 21:42:56

Je vois. Maintenant, je suis convaincu. Merci beaucoup pour vos commentaires.
@WANOU95B : Pourriez-vous me laisser votre adresse email en privé ? Merci d'avance.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

VOUS VOULEZ DE L'AIDE? J'AI DES RÉPONSES [ par SmallToad ] Bonjour,Depuis quelque temps, je n'ai pas beaucoup d'email de fan qui me demande des questions sur le MySQL ou sur le PHP. C'est pourquoi que j'ai mis email + php [ par lpikachu58 ] Comment on fait pour envoyer un mail avec php?be linux aidez moi pb avec email !! [ par anisbs ] Salut je suis débutant en phpje commence a essayer quelques trucs mais la fonction mail ne fonctionne pas Il me sort un truc comme :Warning: mail(): formulaire pour e-mail invisible [ par pyranhaz ] Bonjour,Je cherche à élaborer un formulaire php afin que les clients de mes petites annonces puissent envoyer leur réponse sans connaître le e-mail du Email en php sans formulaire aide merci ! [ par escrow ] bonsoir , apres avoir nivagué des heures et des heuresje n'ai pas reussi a trouver un code php qui me permet d'envoyer un email sans formulaire de cet Question Php email [ par Osirex ] Bijour à tous !!Je coudrais connaître quel code utiliser pour envoyer un formulaire par mail et recevoir les informations saisie pas le destinataire s PB de Reception d'Email Forumlaire PHP [ par kiarah ] bonjour les gens ^^Je rencontre un probleme vraiment curieux avec mon formulaire . : j'envoie des variables via un formulaire HTML (con vérification de formulaire [ par nino69 ] Bonjour, j'ai cr&eacute;e un formulaire et une v&eacute;rification en PHP. Si l'un des champs est mal rempli, le code PHP envoye un message &agrave; l Problème de insert into [ par VLN ] Bonjour, J'ai un souci d'envoie sur sql lorsqu'on remplie le formulaire il me donne erreur a la ligne 3 et 4 Le configuration.php est la connection &# Problème récupération des variables - EMAIL VIDE [ par Nace79 ] Bonjour, Après des heures et des heures de recherche je me permet de demander votre aide... Mon hébergeur supporte le php.. bon une chose de bien .


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2013
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,572 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales