Je suis novice en matière de jQuery et je me demandais comment l'utiliser pour valider des adresses électroniques.
Oui, il le fera, n'oubliez pas que jQuery est toujours du javascript :)
Je suis novice en matière de jQuery et je me demandais comment l'utiliser pour valider des adresses électroniques.
Même si cette regexp considère que la plupart des adresses du monde réel sont valides, elle présente encore beaucoup de faux positifs et de faux négatifs. Par exemple, voir exemples d'adresses électroniques valides et invalides sur Wikipedia.
Fonction jQuery pour valider les e-mails
Je n'aime vraiment pas utiliser de plugins, surtout lorsque mon formulaire ne comporte qu'un seul champ à valider. J'utilise cette fonction et je l'appelle chaque fois que j'ai besoin de valider un champ de formulaire de courrier électronique.
function validateEmail($email) {
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
return emailReg.test( $email );
}
et maintenant d'utiliser ceci
if( !validateEmail(emailaddress)) { /* do stuff here */ }
A la vôtre !
Juste pour info, cela renvoie vrai pour une adresse email vide. e.g. emailReg.text("")
true
. J'aurais simplement la fonction jusqu'à la déclaration de la var emailReg puis ceci : return ( $email.length > 0 && emailReg.test($email))
La regex permettant de vérifier la validité de l'adresse électronique est obsolète puisque nous avons maintenant des extensions de nom de domaine à 6 caractères comme .museum. var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
a var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,6})?$/;
J'utiliserais le Plugin de validation jQuery pour quelques raisons.
Vous avez validé, ok super, maintenant quoi ? Vous devez afficher l'erreur, gérer son effacement lorsqu'elle est valide, afficher le nombre total d'erreurs peut-être ? Il y a beaucoup de choses qu'il peut gérer pour vous, pas besoin de réinventer la roue.
En outre, un autre avantage énorme est qu'il est hébergé sur un CDN, la version actuelle au moment de cette réponse peuvent être trouvés ici : http://www.asp.net/ajaxLibrary/CDNjQueryValidate16.ashx Cela signifie des temps de chargement plus rapides pour le client.
Ok ... pas besoin de réinventer la roue. Mais pourquoi dois-je installer des dizaines de KByte de Javascript pour valider un champ. C'est comme construire une usine de voitures si tout ce dont vous avez besoin est une nouvelle roue :)
@kraftb Comme indiqué dans ma réponse, il s'agit de la manipulation et de l'affichage autour de la validation, et pas seulement de la validation du texte lui-même.
Merci pour ce @NickCraver : Cela ressemble vraiment à une approche des "meilleures pratiques" au problème de la gestion de la validation d'un courriel. Ce n'est certainement PAS comme construire une usine (écrire les librairies pour faire tout le travail) pour obtenir une roue. C'est comme suivre les instructions de l'usine pour installer la roue d'un véhicule moderne (soulever la voiture avec un cric, placer la roue - mettre les écrous de roue) au lieu d'essayer de comprendre comment installer une roue de wagon sur votre voiture. Ce plugin est très simple à utiliser. Pour effectuer la validation du formulaire, il suffit littéralement d'un include, de quelques annotations et d'un seul appel de méthode.
Regardez http : //bassistance.de/jquery-plugins/jquery-plugin-validation/ . C'est un joli plugin jQuery, qui permet de construire un système de validation puissant pour les formulaires. Il y a quelques exemples utiles aquí . Ainsi, la validation du champ email dans le formulaire aura l'air de ceci :
$("#myform").validate({
rules: {
field: {
required: true,
email: true
}
}
});
Ver Documentation sur les méthodes de courrier électronique pour les détails et les échantillons.
@BasheerAL-MOMANI [ [jqueryvalidation.org/jQuery.validator.methods/]](https://jqueryvalidation.org/jQuery.validator.methods/]) $.validator.methods.email = function( value, element ) { return this.optional( element ) || //^.+@.+\..+$/.test( value ); }
Je recommande Verimail.js il dispose également d'un Plugin JQuery .
Pourquoi ? Verimail prend en charge les éléments suivants :
Ainsi, outre la validation, Verimail.js vous donne également des suggestions. Ainsi, si vous tapez un courriel avec un mauvais TLD ou un domaine très similaire à un domaine de courriel commun (hotmail.com, gmail.com, etc.), il peut le détecter et suggérer une correction.
Exemples :
Et ainsi de suite..
Pour l'utiliser avec jQuery, il suffit d'inclure verimail.jquery.js sur votre site et exécutez la fonction ci-dessous :
$("input#email-address").verimail({
messageElement: "p#status-message"
});
L'élément message est un élément dans lequel un message sera affiché. Il peut s'agir d'un message allant de "Votre adresse électronique n'est pas valide" à "Vous vouliez dire ... ?".
Si vous avez un formulaire et que vous voulez le restreindre de manière à ce qu'il ne puisse être soumis que si l'e-mail est valide, vous pouvez vérifier le statut en utilisant la fonction getVerimailStatus comme indiqué ci-dessous :
if($("input#email-address").getVerimailStatus() < 0){
// Invalid
}else{
// Valid
}
Cette fonction renvoie un code d'état entier selon l'objet Comfirm.AlphaMail.Verimail.Status. Mais la règle générale est que tout code inférieur à 0 est un code indiquant une erreur.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
0 votes
Avant d'essayer de "valider" une adresse électronique, vous devriez lire ceci : hackernoon.com/