Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Email Pattern was geht [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Email Pattern was geht


 
Payne_of_Death
27-12-2002, 16:24 
 
Hey Leute,

wollte mal fragen wie man so auf die Schnelle auf den Code hier kommt, er funktioniert zwar aber ich möchte das doch ganz kapieren.


function checkmail ($email) {
if (preg_match ("/^[a-z0-9-_]+(\.[a-z0-9_-]+)*@[a-z0-9-]+\.([a-z]{2}|com|edu|gov|int|mil|net|org|shop|aero|biz|coop|info|museum|name|pro)$/i",$email)) { return true;
}

return false;
}


Also mal ehrlich wie kapiert man den Code denn nur???

Was ne Funktion ist weiss ich, das preg_match einzelne Zeichensätze der $email Variable vergleicht und wenn das klappt einen true Rcükgabewert der Funktion liefert ist auch klar.


Aber die Schablone blick ich nicht, was macht das /^ ?
[a-z0-9-_] Soll wohl Zeichen von a-z und Zahlen von 0-9 zulassen und einen Unterstrich denke ich mal.

Dann wird irgendwas dazuaddiert warum auch immer, schon wieder so ein /. komisches Zeichen. Dann wird das ganze multipliziert, hä ? und am Ende $/i was soll das?


Also da gehen mir die Schuhbendel auf wenn ich sowas sehe, ich weiss das es funktioniert. Aber verstehen bzw richtig deuten kann ich die Schablone leider nicht.

Kann mir jemand das mal genauer erklären, da ich gerne auch für nicht Email Felder eine derartige Prüfung hinzufügen möchte. Nur zwei Worte bestehend aus nur Buchstaben. Reine Zahlenkette.

Danke schon mal für die Erklärung

 
wahsaga
27-12-2002, 16:32 
 
*lol*

"dazuaddiert" wird da gar nichts.

das sind sogenannte reguläre ausdrücke bzw. englisch regular expressions.

wenn dir das nichts sagt (offentsichtlich), dann bemüh' halt mal google...

 
Troublegum
27-12-2002, 16:38 
 
siehe: http://www.php-resource.de/tutorials/read/10/1/

 
Payne_of_Death
27-12-2002, 17:03 
 
@ Troublegum :

Tausend Dank hast mir echt weitergeholfen bzw. jetzt hab ich den Durchblick


:eek:

 
Payne_of_Death
27-12-2002, 17:36 
 
Hey,

also ich hab das tutorial durchgelesen und es auch soweit verstanden aber in der Anwendung hapert es noch, wie erstelle ich ein Pattern was sowas zulässt????

Hans-Dieter Muster
Hans Muster
ohne das Zahen oder sonstige Zeichen eingegeben werden können.
Aus Groß oder Kleinschreibung lege ich keinen Wert.

Kann mir das einer sagen?


Soweit hab ich es mal eben hinbekommen:
/^[a-zA-Z-]+[a-zA-Z]$/

Damit erlaube ich schon mal Hans-Dieter; hans-dieter und hans

Es fehlt noch was um den nAchnamen anzuzeigen nach einem Leerzeichen, wie bekomme ich da hin?

1. Bsp. Max-Friedrich Schuster
2. Fall Max Schuster

???????????????

 
Payne_of_Death
27-12-2002, 19:57 
 
Brauche das Pattern dringend bitte mal unterstützen

 
Abraxax
27-12-2002, 21:53 
 
mit diesem pattern müsstest du das problem lösen können.

/([\w-?&;#~=\.\/]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?))/i

frage nicht, ich habe das NICHT selber gemacht.

 
Payne_of_Death
28-12-2002, 10:31 
 
@ Abraxax: Du scheinst etwas missverstanden zu haben es geht hier nicht um eine Schablone für Emails sondern lediglich um eine Schablone die folgendes zulässt:


Hans-Dieter Muster
Hans Muster
ohne das Zahen oder sonstige Zeichen eingegeben werden können.
Aus Groß oder Kleinschreibung lege ich keinen Wert.

Kann mir das einer sagen?


Soweit hab ich es mal eben hinbekommen:
/^[a-zA-Z-]+[a-zA-Z]$/


Das besondere Augenmerk liegt dabei auf das Leerzeichen, wie erlaube ich ausrücklich Leerzeichen als Zeichen?

Eins ist klar das ganze muss im ersten Pattern stehen.
Ich könnte zwar einen Punkt reinschreiben, aber das würde dann alle Zeichen erlauben. Ich benötige aber nur ein Leerzeichen.

Kannst du mir das vielleicht sagen??

 
Abraxax
28-12-2002, 11:58 
 
dann habe ich dich wohl falsch verstanden ... :o)

aber das leerzeichen müsste doch das hier sein /( )/ oder?

ich habe aber noch was gefunden.

\xhh
character with hex code hh

damit könnte das leerzeichen so aussehen?
/\x32/

wenn nicht, bin ich auch nicht schlauer als du..... :p

 
Payne_of_Death
28-12-2002, 13:22 
 
Funktioniert leider nicht, wird wohl irgendwie nicht gehen.

Habs aus meinem Skript rausgeschmiessen, vor Wut bevor ich zur Furrie werde.

 
BielWeb
28-12-2002, 15:49 
 
Ein Leerzeichen erkennt man mit \040.

Also /^[a-zA-Z-]+[a-zA-Z]\040[a-zA-Z-]+[a-zA-Z]$/, dann ist als Nachname schulze und Schulze-Meier erlaubt.

Armin

 
wahsaga
28-12-2002, 18:31 
 
dann ist als Nachname schulze und Schulze-Meier erlaubt.

und was macht dann bitte ein herr von schulze-meier...?

*g*

 
BielWeb
28-12-2002, 19:56 
 
Na dann würde ich sowas sagen preg_match ("/^[a-zA-Z-\040]+$/",$email)

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:09 Uhr.