Angular JS Email Validierung mit Unicode-Zeichen

7

Ich habe ein Anmeldeformular für eine Anwendung, und angular js ist verantwortlich für die Validierung.

Ich stieß auf ein Problem, als Angular js eine E-Mail-Adresse mit einem Apostroph nicht akzeptierte. "Pear'[email protected]" .

Ich habe herausgefunden, dass angularJs Unicode-Zeichen in der E-Mail-Adresse nicht mögen.

Ist jemand anders auf ein Problem wie dieses gestoßen, bin ich daran interessiert, meine Möglichkeiten zu kennen, um mit diesem Bug in angularJs durchzukommen.

Alle Eingaben sind willkommen. Danke!

    
Nanu 31.05.2013, 18:14
quelle

5 Antworten

17

Wenn html5 <input type=email /> nicht kritisch ist, können Sie <input type=text /> und pattern validation

verwenden %Vor%

und Sie können Regex verwenden, die @Andy Joslin in seiner Antwort gepostet hat

%Vor%     
vittore 31.05.2013, 19:00
quelle
11

AngularJS verwendet diesen regulären Ausdruck zum Testen von E-Mails: Ссылка

Sie könnten eine Direktive schreiben, die es selbst überprüft. Kopieren Sie einfach die von AngularJS und verwenden Sie Ihre eigene Regexp: Ссылка

%Vor%

Dann können Sie einfach tun:

%Vor%     
Andrew Joslin 31.05.2013 18:47
quelle
1

Ich habe gerade den Regex in der angular.js-Datei aktualisiert (" '" im Ausdruck hinzugefügt) und es hat funktioniert, ohne weitere Änderungen vorzunehmen.

EMAIL_REGEXP = /^[A-Za-z0-9._%+-']+@[A-Za-z0-9.-]+.[A-Za-z ] {2,4} $ /. Danke Vittore, dass du mir die Idee gegeben hast, REGEX zu aktualisieren. :)

    
Nanu 03.06.2013 18:26
quelle
0

Warum kehren Sie undefiniert zurück?

Refactoring der Funktion:

%Vor%     
user3476503 29.03.2014 19:13
quelle
0

Angular unterstützt den Apostroph ( ' ) in der E-Mail-ID nicht. Wenn Sie den Apostroph in Angular validieren müssen, müssen Sie den regulären Ausdruck ändern von:

%Vor%

An:

%Vor%

Es wird perfekt funktionieren.

    
jitendra Prasad 03.03.2017 11:09
quelle

Tags und Links