Expression régulière dans la balise HTML pattern
Southstyle
Messages postés
46
Date d'inscription
Statut
Membre
Dernière intervention
-
NHenry Messages postés 15219 Date d'inscription Statut Modérateur Dernière intervention -
NHenry Messages postés 15219 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Soit des utilisateurs remplissant un formulaire avec un champ contenant leur e-mail.
Le pattern vérifie que l'e-mail corresponde bien à une adresse valide, mais j'aimerais en plus que le champ ne contienne pas des erreurs classiques. A savoir :
"bluwin" au lieu de bluewin
hotmai au lieu de hotmail
educanet.ch au lieu de educanet2.ch
(NB : beaucoup d'autres erreurs arrivent également, mais contre cela on ne peut rien faire).
Actuellement :
Pourriez-vous m'indiquer l'expression régulière pouvant vérifier que l'e-mail soit valable, tout en ne contenant pas bluwin, hotmai (mais hotmail doit être autorisé) et educanet2 au lieu de educanet.
Merci pour votre précieuse aide !
Raph
Soit des utilisateurs remplissant un formulaire avec un champ contenant leur e-mail.
Le pattern vérifie que l'e-mail corresponde bien à une adresse valide, mais j'aimerais en plus que le champ ne contienne pas des erreurs classiques. A savoir :
"bluwin" au lieu de bluewin
hotmai au lieu de hotmail
educanet.ch au lieu de educanet2.ch
(NB : beaucoup d'autres erreurs arrivent également, mais contre cela on ne peut rien faire).
Actuellement :
pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$"
Pourriez-vous m'indiquer l'expression régulière pouvant vérifier que l'e-mail soit valable, tout en ne contenant pas bluwin, hotmai (mais hotmail doit être autorisé) et educanet2 au lieu de educanet.
Merci pour votre précieuse aide !
Raph
A voir également:
- Expression régulière dans la balise HTML pattern
- Editeur html - Télécharger - HTML
- Téléchargez cette archive (dossier compressé). en extraire tous les fichiers dans un dossier local. quel fichier contient l’expression trouverpix ? ✓ - Forum Windows
- Expression écrite cm1 cm2 télécharger gratuit - Télécharger - Éducatifs
- Avoir du ping expression - Forum Réseau
- Définition de ping ✓ - Forum Réseau
1 réponse
Tu peux vérifier si le domaine a bien un enregistrement MX (Mail eXchange) :
https://www.php.net/manual/en/function.getmxrr.php
Si ce n'est pas le cas, c'est que l'email n'est pas bon.
https://www.php.net/manual/en/function.getmxrr.php
Si ce n'est pas le cas, c'est que l'email n'est pas bon.
Merci pour ta réponse rapide.
Je ne connaissais pas du tout getmxrr(). Ca aurait pu être une solution, mais je préfère exécuter le script côté client et rendre le formulaire réactif. Si getmxrr() savait vérifier le mail de l'utilisateur (exemple il met nom_prenom@... au lieu de nom.prenom@...) alors je serais preneur. J'aimerais donc conserver mon idée en expression régulière mais je garde au chaud getmxrr() :-)
Merci !
Raph
par exemple, même si tu gère la faute sur hotmail, il faudra aussi gérer les :
@aposte.net : @laposte.net
@glail.com : @gmail.com
...
Il est possible d’interroger une URL avec JS et donc de passer en paramètre l'adresse mail à tester pour que PHP fasse le test (cela n'empêche pas de faire le test quand même après la validation sur la page destinatrice du formulaire, le code HTML pouvant facilement modifié côté client.
De plus, il existe aucune méthode pour contrôler la validité de ce qu’il y a avant le @, entre nom.prenom ou nom-prenom, les 2 sont syntaxoqiement valide, seul l'interrogation directe du serveur mail te permettra de savoir si l'adresse existe ou pas.
.