Seite 1 von 1

[GELÖST]Sonderzeichen einer Email herausfinden.

Verfasst: 26. Juli 2017 11:50
von MarcBe
Hi alle zusammen,

ich hätte nochmal ein kleines Problem,

ich habe die Aufgabe bekommen die Verifizierung einer E-Mail zu programmieren.
Es sollen keine Sonderzeichen zugelassen sein sowie zwei aufeinanderfolgende Punkte.

jetzt meine Frage, wie kann ich nachgucken ob ein Sonderzeichen in einer E-Mail vorhanden ist?

Re: Sonderzeichen aus einer Email herausfinden.

Verfasst: 26. Juli 2017 12:09
von McClane
Schau dir doch mal die Funktion "CheckValidEmailAddress" in der CU400 an, die übernimmt auch schon einige deiner Vorgaben.

Re: Sonderzeichen aus einer Email herausfinden.

Verfasst: 26. Juli 2017 12:43
von Raik Zobel
Dazu würde ich auch folgende dot.net Programmierung empfehlen:

https://www.kauffmann.nl/2011/02/09/use ... v-2009-r2/

Für die TOPLEVELDOMAIN habe ich das Pattern so abgeändert, dass diese 5 Stellig sein darf (»a@b.email«).
Pattern := '^[A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,5}$';

Heißt min. 2, max. 5 Zeichen

Re: Sonderzeichen aus einer Email herausfinden.

Verfasst: 26. Juli 2017 15:33
von shove
Nach kurzem Recherchieren bin ich auf folgenden Artikel gestoßen:

https://stackoverflow.com/questions/201 ... il-address

Wenn ich schon mit regulären Ausdrücken arbeite würde ich den dort beschriebenen Ausdruck als Grundlage nehmen.
Ggf. kannst du den noch etwas erweitern wenn du mehr einschränkungen haben möchtest.

Hier ein Tool womit du das ganze komfortabel testen kannst:
https://regex101.com/r/cpf7s2/1

Re: Sonderzeichen aus einer Email herausfinden.

Verfasst: 26. Juli 2017 16:18
von MarcBe
Vielen Dank euch.


Gruß
Marc

Re: Sonderzeichen aus einer Email herausfinden.

Verfasst: 26. Juli 2017 16:31
von MarcBe
Aber in der Email sollen einfach diese Zeichen [ ! # $ % & ' * + - / = ? ^ _ ` { | } ]
in der Email nicht benutzt werden können.
Wenn jemand diese benutzt soll man eine Fehlermeldung bekommen.



Gruß
Marc

Re: [GELÖST]Sonderzeichen aus einer Email herausfinden.

Verfasst: 27. Juli 2017 08:49
von MarcBe
Hallo alle,

hier ist der Code mit dem ich es gelöst habe eine Abänderung der Funktion
aus der Codeunit 400.

Code:
FOR i := 1 TO STRLEN("E-Mail") DO BEGIN
  IF "E-Mail"[i] = '@' THEN
    NoOfAtSigns := NoOfAtSigns + 1;
  IF NOT (
    (("E-Mail"[i] >='a') AND ("E-Mail"[i] <='z')) OR
    (("E-Mail"[i] >='A') AND ("E-Mail"[i] <='Z')) OR
    (("E-Mail"[i] >='0') AND ("E-Mail"[i] <='9')) OR
    ("E-Mail"[i] IN ['@','.','-','ä','ü','ö','Ä','Ü','Ö']))
  THEN
    ERROR('Nicht erlaubte Zeichen werden benutzt!')
END;


Gruß
Marc

Re: [GELÖST]Sonderzeichen aus einer Email herausfinden.

Verfasst: 27. Juli 2017 09:09
von McClane
MarcBe hat geschrieben:zugelassen sein sowie zwei aufeinanderfolgende Punkte.

Den Teil hast du aber vergessen :wink:

Re: nicht ganz[GELÖST]Sonderzeichen einer Email herausfinden

Verfasst: 27. Juli 2017 09:10
von MarcBe
hi Nochmal,

könntet ihr mir vielleicht sagen wie ich zwei aneinanderfolgende Punkte ebenfalls
in den Fehler mit einbaue.
Die E-Mail Variabel ist eine Text Variabel.

Gruß
Marc

Re: nicht ganz[GELÖST]Sonderzeichen einer Email herausfinden

Verfasst: 27. Juli 2017 09:11
von McClane
Schau mal nach STRPOS.

Re: [GELÖST]Sonderzeichen einer Email herausfinden.

Verfasst: 27. Juli 2017 09:12
von MarcBe
hi und Danke,

da hätte ich auch drauf kommen können :lol: