$xNeTworKx: Unklarheit bei reg. Expr. (Eingabeüberprüfung)

Hola,
Also ich weiß jetzt nicht, was da los ist, und warum es nicht funktioniert, aber vielleicht hat hier jmd. Ahnung, was da falsch läuft.
Ich will überprüfen, ob in einem Formular ein Name eingegeben wurde, oder nicht. Dafür überprüfe ich ob $name = '' ist. Man könnte das ja leicht austricksen, indem man mehrere Leerzeichen eingibt. dafür wollte ich diesen Ausdruck verwenden:

if (($name eq '') || ($name =~ /^\s+?$/))   {
$nameerror = '<li>Es wurden kein Name eingegeben !</li>';
}

..aber sobald ich mehrere Leerzeichen eingebe, wird keine Fehlermeldung ausgelöst. Warum funktioniert es nicht?

P.S ($name =~ /^\s+$/) oder ($name =~ /^\s*$/) oder ($name =~ /^\s*?$/) funktioniert auch nicht. Wenn ich mehrere Leerzeichen eingebe, geht das glatt durch. Übrigens funktioniert die Syntax bei einem anderen Formularfeld schon, deswegen bin ich jetzt komplett verwirrt?

$xNeTworKx.

  1. Ich weiß schon, was falsch war. Weiter unten im Script mache ich die Fehlermeldung wieder zunichte, deswegen hat es so ausgesehen, als ob dieser Ausdruck falsch wäre, trotzdem danke.

    greetz, $xNeTworKx.

  2. hi,

    Ich will überprüfen, ob in einem Formular ein Name eingegeben wurde, oder nicht. Dafür überprüfe ich ob $name = '' ist. Man könnte das ja leicht austricksen, indem man mehrere Leerzeichen eingibt. dafür wollte ich diesen Ausdruck verwenden:

    gibt es in PERL keine analogie zum befehl trim() in php, der sämtlichen whitespace am anfang und ende einer zeichenkette eliminiert?

    da du am anfang und ende eines namens ja höchstwahrscheinlich eh keine spaces/tabs/... haben willst, ist es doch eigentlich empfehlenswert, den string gleich derart zu trimmen, und anschliessend zu schauen, ob er jetzt evtl. ganz leer ist ...

    gruss,
    wahsaga

    1. hi,

      gibt es in PERL keine analogie zum befehl trim() in php, der sämtlichen whitespace am anfang und ende einer zeichenkette eliminiert?

      Gibts nicht, ist aber kein Problem ;-)

      http://perlbase.xwolf.de/cgi-bin/perlbase.cgi?dis.7.2.4

      Erwin

      --
      SELFforum - Das Tor zur Welt!
      Theoretiker: Wie kommt das Kupfer in die Leitung?
      Praktiker: Wie kommt der Strom in die Leitung?
    2. gibt es in PERL keine analogie zum befehl trim() in php, der sämtlichen whitespace am anfang und ende einer zeichenkette eliminiert?

      Das ist eine FAQ.
      http://perldoc.com/perl5.8.0/pod/perlfaq4.html#How-do-I-strip-blank-space-from-the-beginning-end-of-a-string-

      Struppi.

      1. hi,

        Das ist eine FAQ.

        möglich - aber da ich hier nur eine alternative lösungsmöglichkeit aufzeigen wollte, und mich ansonsten mit PERL gar nicht beschäftige, sollte es in diesem falle wohl verzeihlich sein, dass ich mich danach nicht erst auf die suche gemacht habe, oder ...?

        gruss,
        wahsaga

        1. Das ist eine FAQ.

          möglich - aber da ich hier nur eine alternative lösungsmöglichkeit aufzeigen wollte, und mich ansonsten mit PERL gar nicht beschäftige, sollte es in diesem falle wohl verzeihlich sein, dass ich mich danach nicht erst auf die suche gemacht habe, oder ...?

          Klar, war gar nicht bös gemeint, sondern nur als Ergänzung.

          Struppi.