Warum kostenlos registrieren?

Nur als registriertes Mitglied hast Du vollen Zugriff auf alle Funktionen unserer Website. So kannst Du eigene Fragen stellen und hast die volle Übersicht über neue interessante Themen im Forum.
Jetzt kostenlos registrieren.

Login


Reguläre Ausdrücke

Fragen oder Probleme mit HTML, PHP oder CSS?

Reguläre Ausdrücke

Beitragvon CoolCasimir am 03.03.2005, 18:22

So, nun habe ich auch mal eine Frage.
Seit einem Tag schlage ich mich mit Regulären Ausdrücken rum.
Ich möchte einen Text untersuchen, dieser soll alle Buchstaben von A-Z (a-z), die Umlaute, alle Ziffern von 0-9 und ein oder kein Leerzeichen enthalten.
Leider verzweifle ich an dieser eigentlich einfachen Aufgabe...
So in der Art soll es nachher aussehen:
Code: Alles auswählen
if(!eregi("^[a-zA-Z0-9]$",$username)) //Alle Zeichen von a-z; 0-9 Umlaute und ein Leerzeichen oder keines.
         {
              $fehler .= "<li>Unzulässige Zeichen im Benutzernamen (Erlaubt sind A-Z, 0-9 und Umlaute)</li>";
           }


Das hier muss dann geändert werden: ^[a-zA-Z0-9]$
CoolCasimir
Moderator
 
Beiträge: 2194
Registriert: 14.01.2004, 14:07
Wohnort: Hansestadt Hamburg


Beitragvon kid am 12.03.2005, 23:14

hi,
falls du nicht schon bereits eine lösung gefunden haben solltest:

Code: Alles auswählen
if(!eregi("^[a-z0-9 üäö]+$",$username)) //Alle Zeichen von a-z; 0-9 Umlaute und ein Leerzeichen oder keines.
         {
              echo "<li>Unzulässige Zeichen im Benutzernamen (Erlaubt sind A-Z, 0-9 und Umlaute und Leerzeichen)</li>";
           }


hoffe das passt so, die anweisung die ausgegeben wird musst du dann halt noch anpassen
eregi macht keinen unterschied ob a-z oder A-Z, groß/ kleinschreibung ist egal

lg kid
kid
 
Beiträge: 69
Registriert: 22.03.2004, 21:36

Beitragvon CoolCasimir am 13.03.2005, 14:44

Leider geht das so nicht... Hatte ich auch schon probiert.
Wenn ich lauter Leerzeichen eingebe wird es trotzdem akzeptiert,
das soll so nicht sein.
CoolCasimir
Moderator
 
Beiträge: 2194
Registriert: 14.01.2004, 14:07
Wohnort: Hansestadt Hamburg

Beitragvon GrayGhost am 14.03.2005, 13:00

Hallo,
hatte der Link (per PM) von mir auch zu keiner Lösung geführt?
GrayGhost
 

Beitragvon kid am 14.03.2005, 19:12

hi,
mit folgendem dürfte es nun passen, sry ist etwas länger aber mit eregi allein ist mir keine lösung bekannt da man ja nicht nur auf leerzeichen überprüfen muss sondern sie auch noch zählen muss, gibt vermutlich ne kürzere lösung aber bin selbst erst am lernen und besser so etwas als garnichts:


Code: Alles auswählen
<?php

$username = "Werner Müller";

if(substr_count("$username", " ") > 1)
      {
         echo "sry mehr als ein leerzeichen vorhanden!";
      }
      elseif (!eregi("^[a-z0-9 üäöß]+$",$username))
         {
              echo "<li>Unzulässige Zeichen im Benutzernamen (Erlaubt sind A-Z, 0-9 und Umlaute und ein oder kein Leerzeichen)</li>";
           }
        else { echo "jo, das passt"; }

?>



falls hier jemand eine andere lösung hat würd ich mich freuen wenn er sie hier postet da man ja nie auslernt.
kid
 
Beiträge: 69
Registriert: 22.03.2004, 21:36

Beitragvon CoolCasimir am 15.03.2005, 15:47

Ja, so geht es natürlich auch, danke schon mal.
Allerdings min ich bei sowas immer eigen, denn ich will das unbedingt in einer Zeile Prüfen. Mann kann doch mit Regulären Ausdrücken sagen ein oder kein, das sollte doch auch für Leerzeichen gelten oder?
CoolCasimir
Moderator
 
Beiträge: 2194
Registriert: 14.01.2004, 14:07
Wohnort: Hansestadt Hamburg

Beitragvon kid am 22.03.2005, 22:43

mit preg_match dürfte es gehen, man kann ja die zeichenanzahl mit {} beschränken, hab aber bisher nichts gescheites rausgebracht,sry.vielleicht kriegst dus damit hin.
kid
 
Beiträge: 69
Registriert: 22.03.2004, 21:36


Zurück zu HTML, PHP & Co.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste