J'ai un formulaire d'inscription pour une application et JS angulaire est responsable de sa validation. P>
J'ai rencontré un problème lorsque JS anguleux n'accepte pas une adresse électronique qui a Apostrophe. J'ai découvert que Angularjs n'aimait pas les caractères Unicode dans l'adresse e-mail. p>
Quelqu'un d'autre a-t-il rencontré un problème comme celui-ci, je suis intéressé à connaître mes options pour vous éloigner de ce bogue dans Angularjs. p>
Toutes les intrants sont appréciés. Merci! P>
5 Réponses :
angularjs utilise cette expression régulière pour tester le courrier électronique: https: //github.com/angular/angular.js/blob/master/src/ng/directive/input.js#l4
Ce que vous pourriez faire est de rédiger une directive qui le vérifie vous-même. Copiez simplement celui de Angularjs et utilisez votre propre Regexp: https://github.com/angular/angular.js/blob/master/src/ng/directif/input.js#l606-l614 p> Ensuite, vous pouvez simplement faire: p> <input nanu-email ng-model="userEmail">
Alternativement, il peut simplement utiliser
Si avoir HTML5 Et vous pouvez utiliser regex que @andy Joslin a posté dans sa réponse p>
La regex que vous avez fournie n'a pas répondu à la question de l'Apostrophe. J'ai ajouté "" "dans la regex dans le fichier angular.js, et cela a fonctionné. Je n'ai pas changé le type d'entrée sur "Texte" non plus.
J'ai vérifié votre réponse, car cela pourrait aider quelqu'un avec des problèmes comme ceux-ci avec l'utilisation de NG-Modèle.
Lorsque vous utilisez cette expression directement dans le motif NG sans variable, le \. Code> doit être échappé deux fois comme il s'agit d'une expression dans une chaîne.
\\. code>
FYI
essayé cette regex, n'a pas fonctionné pour'üñictionøðé@example.com.com
Je viens de mettre à jour la regex dans le fichier angulaire.js (ajouté "< ' strong>" dans l'expression) et cela a fonctionné, sans faire d'autres modifications. P>
e-mail_regexp = /^[a-za-z0-9._%+- '' '' '' ''+/strong >@[a-za-z0-9.-]+.[a-za-z ] {2,4} $ /. Merci Vittore, pour me donner l'idée de mettre à jour Regex. :) p>
Pourquoi revenez-vous indéfini?
refactoring de la fonction: p>
Angular Ne prend pas en charge l'apostrophe ( à: p> Ça fonctionnera Parfaitement. P> P> ' code>) dans l'identifiant de messagerie. Si vous devez valider l'apostrophe en angulaire, vous devez modifier l'expression régulière de:
Avez-vous envisagé de rédiger une fonction de validation personnalisée? jsfiddle.net/adamdbradley/qdk5m