Ich kann es gerade nicht testen:
Kann ich hiermit auf eine gültige Email prüfen?
/(\w*)@(\w*)\.(\w{2,3})/
Ich denke mal ja oder:
denn erst ein beliebige Anzahl von Buchstaben Zahlen oder „_“, dann ein „@“ dann wieder das gleiche dann ein „.“ und dann 2-3 Buchstaben tld endung oder?
TLDs enthalten nie Zahlen, Punkte oder Striche. Sie haben immer eine mindest länge von 2 Buchstaben und die längste mir bekannte ist museum also 6 Buchstaben.
Dann solltest du bei dem Teil vor dem @ nicht die schließende eckige Klammer escapen. Das @ allerdings schon!
Ich bin mir zwar nicht sicher aber ich glaube auch die Domain sollte Punkte enthalten können man kann ja auch E-Mail Addressen auf Subdomains erhalten oder?
Du kannst den Ausdruck nochweiter verkürzen indem du sagst das Groß- und Kleinschreibung irrelevant ist (was ja auch stimmt):
Okey ich hatte ne pn an Prophet geschickt, für nen paar kleiner Fragen ich stell sie mal hier rein für alle
Zitat von [B]Web_spider[/B]
[I]ich hab da noch ne zu dm Regex:
ach ja erstmal danke
bei den stellen
Zitat:
![1]+@[a-z0-9-.]+.[a-z]{2,6}$!i
Kannst du mir mal bitte erklären wieso man das Plus dort nimmt =), ich hab das nie bei tut.php-net verstanden -.-
ACh ja und wofür ist das ! und das ^
das ^ bedeutet doch nicht, aber das brauch ich doch net oder?
Verwendest du das ! als Delimeter
Also die Ausrufezeichen sind die Begrenzer, ja. Ganz einfach deswegen, weil nirgendwo im Ausdruck ein Ausrufezeichen vorkommt.
Das Plus bedeutet das von dem vorangestellten Zeichen 1 oder Mehr an dieser stelle stehen können. In den spitzen Klammern stehen ja verschiedene Zeichen die an dieser Stelle stehen können und mit dem Plus sagt man es können mindestens eines oder beliebig viele dort stehen.
Das ^ sagt aus das der untersuchte String hier beginnt. Sonst würde der ausdruck auch auf strings zutreffen bei dennen eine E-Mail Addresse mitten im Text steht. Das Dollar zeigt an das der string dort zuende sein muss.