Regulärer Ausdruck - Validieren Sie Gmail-Adressen

8

Ich versuche, einen Ausdruck zu erstellen, um Google Mail-Adressen zu überprüfen. Das habe ich bis jetzt gemacht.

'^ ([\ w] [\ w.] (?!.) @ gmail.com) Ich versuche einen Ausdruck zu erstellen, um Google Mail-Adressen zu überprüfen. Das habe ich bis jetzt gemacht.

Aber es funktioniert nicht wie ich will.

Google Mail-Adresse:

  1. Das erste und letzte Zeichen muss [a-z0-9]
  2. sein
  3. Der Benutzername enthält nur [a-z0-9.]
  4. Es kann keine aufeinanderfolgenden Perioden geben (i.e: [email protected] [This is wrong])
  5. Die Länge des Benutzernamens muss zwischen 6 und 30 Buchstaben betragen.

Ehrlich gesagt habe ich nicht viel Erfahrung mit den Regulären Ausdrücken.

Gibt es übrigens eine Dokumentation für Regular Expression?

    
Adam Stelmaszczyk 24.04.2013, 19:54
quelle

8 Antworten

14

Sie haben nicht angegeben, welche Regex-Implementierung Sie verwenden.

%Vor%
  • [a-z0-9] erstes Zeichen
  • (\.?[a-z0-9]){5,} mindestens fünf aufeinanderfolgende alphanumerische Zeichen, möglicherweise mit einem vorangestellten Punkt (siehe @ Daniels Kommentar, kopiert von @ Christopher's Antwort)
  • g(oogle)?mail gmail oder googlemail (siehe @ alrocs Antwort)

Wahrscheinlich möchten Sie auch die Mustererkennung ohne Berücksichtigung der Groß- und Kleinschreibung verwenden. ( /.../i in JavaScript.)

    
Kay 17.02.2017, 14:48
quelle
7

Einfacher regulärer Ausdruck für die Übereinstimmung von Google Mail:

%Vor%

Entspricht, wenn am Anfang der Zeichenfolge \w (alphanumerisch oder Unterstrich) oder . oder + oder - mindestens einmal steht, gefolgt von @gmail.com am Ende von die Zeichenfolge.

Sie können es in regexpal testen.

  

Gibt es übrigens eine Dokumentation für Regular Expression?

Google ist dein Freund :)

>     
Adam Stelmaszczyk 24.04.2013 19:57
quelle
1

Es gibt eine Menge Dokumentation für reguläre Ausdrücke, aber Sie müssen sicherstellen, dass Sie eine finden, die zu der besonderen Art von Regex passt, die Ihre Umgebung hat. Ja, es gibt zahlreiche Dialekte. Das heißt, "Mastering Regular Expressions" ist, soweit ich weiß, immer noch die ultimative Referenz.

Was Ihre spezifische Frage angeht, würde ich wahrscheinlich

verwenden %Vor%

Vorbehalt: Ich habe nicht überprüft, ob die von Ihnen angegebenen Regeln korrekt sind. E-Mail-Adressen folgen ihnen im Allgemeinen sicher nicht.

    
Christopher Creutzig 24.04.2013 20:02
quelle
1

RFC 2822 gibt an, was eine gültige E-Mail-Adresse ausmacht, und dies wird hier besprochen. Aber wie diese Seite feststellt, können Sie es nicht einfach akzeptieren, ohne es wirklich durchzulesen und zu verstehen, was es tut.

Sie sind hier im Vorteil, da Sie erwarten, dass die Adresse immer in @gmail.com endet, was den Umfang Ihrer Regex reduziert (Sie können auf @ teilen und nur die erste Hälfte validieren).

Übrigens, GMail ist nicht gmail.com weltweit - in Großbritannien und Deutschland finden Sie auch googlemail.com .

Es gibt viele Dokumentationen zu regulären Ausdrücken im Internet, aber Sie sollten sich darüber informieren, wie die von Ihnen verwendete Bibliothek / Engine die Dinge handhabt. Es gibt geringfügige Unterschiede zwischen den Implementierungen.

    
alroc 24.04.2013 20:04
quelle
1

Meine Lösung dafür ist ^[a-zA-Z][-_.a-zA-Z0-9]{5,29}@g(oogle)?mail.com$

    
user5070874 17.02.2018 11:34
quelle
0

Bei der Beantwortung Ihrer anderen Frage:

Dies ist ein Link zur Regex-Dokumentation: Ссылка Es gibt mehr Hilfe für die spezifische Sprache, die Sie verwenden, indem Sie einfach "mylanguage regex" googlen.

    
W. B. Reed 24.04.2013 19:58
quelle
0
%Vor%

Dies ist der reguläre Ausdruck für die E-Mail-Adressen, die alle E-Mail-Adressen validieren.

  1. ([a-zA-Z0-9] +) - passt auf das erste Wort, das a-z, A-Z und 0-9
  2. haben kann
  3. ([_.- {1}]) - entspricht _, -,. nach dem ersten Wort
  4. ? - wird zwischen 0 (falsch) und 1 (wahr) des vorhergehenden Tokens übereinstimmen.
  5. ([a-zA-Z0-9] +) - passt auf das zweite Wort, das a-z, A-Z und 0-9
  6. enthalten kann
  7. \ @ - entspricht dem Sonderzeichen @
  8. ([a-zA-Z0-9] +) - entspricht dem Wort, das der Domänenname nach @
  9. ist
  10. ([.]) - wird übereinstimmen.
  11. ([a-zA-Z.] +) - entspricht dem letzten Wort der E-Mail-ID, die com, co.in, org usw. sein kann.

Aber Gmail erlaubt keine anderen Sonderzeichen, also wird der reguläre Ausdruck für die Gmail-E-Mail-Adresse einfacher sein als dieser und wird wie folgt angegeben:

%Vor%
  1. ([a-zA-Z0-9] +) - passt auf das erste Wort, das a-z, A-Z und 0-9
  2. haben kann
  3. ([. {1}]) - wird übereinstimmen. nach dem ersten Wort
  4. ? - wird zwischen 0 (falsch) und 1 (wahr) des vorhergehenden Tokens übereinstimmen.
  5. ([a-zA-Z0-9] +) - passt auf das zweite Wort, das a-z, A-Z und 0-9
  6. enthalten kann
  7. \ @ - entspricht dem Sonderzeichen @
  8. gmail - entspricht dem Wort gmail, das der Domainname nach @
  9. ist
  10. ([.]) - wird übereinstimmen.
  11. com - entspricht dem letzten Wort der E-Mail-ID, die com
  12. ist
Yogesh Chauhan 13.09.2016 06:43
quelle
-1

Vielleicht können Sie es hier ausprobieren Google Mail- oder Google-Adressen bestätigen Ссылка

    
Wah Jong 12.03.2014 05:50
quelle

Tags und Links