[GELÖST]Sonderzeichen einer Email herausfinden.

26. Juli 2017 11:50

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?
Zuletzt geändert von MarcBe am 8. Februar 2018 11:04, insgesamt 3-mal geändert.

Re: Sonderzeichen aus einer Email herausfinden.

26. Juli 2017 12:09

Schau dir doch mal die Funktion "CheckValidEmailAddress" in der CU400 an, die übernimmt auch schon einige deiner Vorgaben.

Re: Sonderzeichen aus einer Email herausfinden.

26. Juli 2017 12:43

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.

26. Juli 2017 15:33

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.

26. Juli 2017 16:18

Vielen Dank euch.


Gruß
Marc

Re: Sonderzeichen aus einer Email herausfinden.

26. Juli 2017 16:31

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.

27. Juli 2017 08:49

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.

27. Juli 2017 09:09

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

27. Juli 2017 09:10

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

27. Juli 2017 09:11

Schau mal nach STRPOS.

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

27. Juli 2017 09:12

hi und Danke,

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