WinFuture-Forum.de: Php: Preg_match() Um E-mail-adressen Zu überprüfen - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 2 Seiten +
  • 1
  • 2

Php: Preg_match() Um E-mail-adressen Zu überprüfen


#1 Mitglied ist offline   Joel 

  • Gruppe: aktive Mitglieder
  • Beiträge: 516
  • Beigetreten: 22. März 05
  • Reputation: 0

  geschrieben 09. Januar 2006 - 18:29

Hallo

Ich bin auf die Funktion preg_match() gestossen, als ich ein Gästebuch für meine neue Seite schrieb. Dadurch kann man ja z.B. überprüfen ob die E-Mail-Adresse möglich sein kann.
Um die E-Mail-Adresse zu überprüfen, hab ich folgendes Muster in einem Buch gefunden:
"/^[a-zA-Z0-9-_.]+@[a-zA-Z0-9-_.]+\.[a-zA-Z]{2,4}$/"

Nun ja, ich wollte mal fragen ob dieses Muster etwas taugt oder ob man es noch verbessern kann. Was sicher noch nicht gut ist, dass z.B. [email protected] schon als richtig bestimmt wird. das Minimum sollte schon [email protected] sein. Nur wie lauten dann das Muster?

Gibt es eventuell auch ein Muster für Webseiten? :(

Wäre dankbar falls mir jemand etwas helfen könnte :)

MfG Joel
0

Anzeige



#2 Mitglied ist offline   tobiasndw 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.815
  • Beigetreten: 24. September 03
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 09. Januar 2006 - 18:31

Also ich benutze immer die Prüfung:

if(eregi("^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}$", $_POST["txtmail"]))
{
#true
}
else
{
#false
}
0

#3 Mitglied ist offline   stefanra 

  • Gruppe: aktive Mitglieder
  • Beiträge: 6.208
  • Beigetreten: 13. September 04
  • Reputation: 1

geschrieben 09. Januar 2006 - 18:39

Ja, mit dem von dir geposteten Muster kannst du E-Mail-Adressen validieren.

Für Websites:
^(http|https)\:\/\/([A-Za-z0-9-]+\.){0,}[A-Za-z0-9-]+\.[A-Za-z]{2,4}


Eigentlich kann man sogar noch einen Schritt weitergehen und dieses Pattern anwenden:
^(http|https)\:\/\/([a-z0-9-]+\.){0,}[a-z0-9-]+\.[a-z]{2,4}

0

#4 Mitglied ist offline   Joel 

  • Gruppe: aktive Mitglieder
  • Beiträge: 516
  • Beigetreten: 22. März 05
  • Reputation: 0

geschrieben 09. Januar 2006 - 18:40

@tobiasndw
Damit ist PHP aber nicht einverstanden: :(

Zitat

Warning: preg_match() [function.preg-match]: No ending delimiter '^' found in C:\Wamp\www\guestbook\guestbook.php on line 46

bei der Zeile 46 handelt es sich um...
elseif (preg_match("^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}$", $email) == 0) {
$error .= "$output[invalidemail]<br />\n";
}


Was ist hier falsch?
0

#5 Mitglied ist offline   tobiasndw 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.815
  • Beigetreten: 24. September 03
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 09. Januar 2006 - 18:42

hab ich was von "preg_match" geschrieben?
0

#6 Mitglied ist offline   Joel 

  • Gruppe: aktive Mitglieder
  • Beiträge: 516
  • Beigetreten: 22. März 05
  • Reputation: 0

geschrieben 09. Januar 2006 - 18:45

Ups, sorry hab das wohl 'überlesen' :(
0

#7 Mitglied ist offline   Floele 

  • Gruppe: aktive Mitglieder
  • Beiträge: 919
  • Beigetreten: 22. Juni 04
  • Reputation: 0

geschrieben 09. Januar 2006 - 19:17

Bei PHP musst du die Ausdrücke noch "einschließen", z.B. mit /:
preg_match('/[0-9]+/');

0

#8 Mitglied ist offline   stefanra 

  • Gruppe: aktive Mitglieder
  • Beiträge: 6.208
  • Beigetreten: 13. September 04
  • Reputation: 1

geschrieben 09. Januar 2006 - 19:20

Genau, sollte er daher bei den von mir geposteten Ausdrücken auch so machen, sonst wird es da auch nicht gehen.
0

#9 Mitglied ist offline   ichbines 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.725
  • Beigetreten: 06. Oktober 02
  • Reputation: 0
  • Wohnort:Parndorf (Österreich)
  • Interessen:Computer, Linux

geschrieben 09. Januar 2006 - 19:38

übrigend:

Was ist mit den Leuten welche eine Umlautdomain haben?
Du musst die Buchstaben ä, ü und ä auch erlauben. Und zwar nur in der Domain. In dem Teil vor dem @ Zeichen sind (noch) keine Umlaute erlaubt.
Die anderen Umlaute: á à â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ø ù ú û ü ý þ ÿ sind bei uns eher unwichtig.
0

#10 Mitglied ist offline   stefanra 

  • Gruppe: aktive Mitglieder
  • Beiträge: 6.208
  • Beigetreten: 13. September 04
  • Reputation: 1

geschrieben 09. Januar 2006 - 19:41

Umlautdomains sind sowieso Quark. ;-) Das ist doch purer Unfug, einerseits eine Seite ins Internet stellen wollen und andererseits wieder künstlich kastrieren, indem man lokalen Sonderzeichen verwendet.
0

#11 Mitglied ist offline   ichbines 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.725
  • Beigetreten: 06. Oktober 02
  • Reputation: 0
  • Wohnort:Parndorf (Österreich)
  • Interessen:Computer, Linux

geschrieben 09. Januar 2006 - 19:52

Beitrag anzeigenZitat (stefanra: 09.01.2006, 20:41)

Umlautdomains sind sowieso Quark. ;-) Das ist doch purer Unfug, einerseits eine Seite ins Internet stellen wollen und andererseits wieder künstlich kastrieren, indem man lokalen Sonderzeichen verwendet.

Ja, aber trotzdem wollen wir keine User aussperren :(
Nimm lieber nur das ä, ü und ö auf, sonst wird das ganze zu kompliziert, da es die anderen Umlaute nicht bei .info/.org/.biz/.cc/.tv gibt.

Die Umlaut-Domains werden sich schon umsetzen, wenn der Internet Explorer 7 endlich rauskommt. Weiters fehlt dann noch eine Umlaut-Domain Unterstützung von google.
0

#12 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 09. Januar 2006 - 20:22

Denk mal bitte genau nach, wie IDN funktioniert!

@stefanra: Einstellige nicht-toplevel-main-Domains existieren zwar, sind aber per se inkompatibel. Statt + kannst du also {2,} nehmen.
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#13 Mitglied ist offline   hasch 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.790
  • Beigetreten: 28. Januar 04
  • Reputation: 0
  • Wohnort:Localhost
  • Interessen:Ach so viele ...

geschrieben 09. Januar 2006 - 21:39

Wäre es nicht sinnvoller die eingetragene Domain der Mailadresse zu prüfen auf Existenz, denn es kann ja jeder bsw.:

[email protected] eintragen und dein Programm würde es abhaken :)

Außerdem wäre es ja schnuppe, wenn du ne Aktivierungsmail sendest, dann würde der User o.Ä. ebenfalls nicht freigegeben werden... :(
0

#14 Mitglied ist offline   Joel 

  • Gruppe: aktive Mitglieder
  • Beiträge: 516
  • Beigetreten: 22. März 05
  • Reputation: 0

geschrieben 10. Januar 2006 - 15:41

@hasch

Gute Idee, könnte man nicht überprüfen ob der Server erreichbar ist? Das könnte man ja auch bei der Homepage machen --> beste Methode! ;)

Nur wie geht das? (wenn das überhaupt geht) :angry:

MfG Joel
0

#15 Mitglied ist offline   T1-Fox 

  • Gruppe: aktive Mitglieder
  • Beiträge: 127
  • Beigetreten: 09. August 05
  • Reputation: 0
  • Wohnort:Halle Saale

geschrieben 10. Januar 2006 - 15:47

ich frag mich ehr ob das erlaubt ist!?
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0