kostenloser Webspace werbefrei: lima-city


Regulärer Ausdruck

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    ekiam

    Kostenloser Webspace von ekiam

    ekiam hat kostenlosen Webspace.

    Hallo Zusammen!

    Ich habe folgendes Problem:

    Ich habe ein Input Feld (html/php) und möchte dies mit Javascript auf eine bestimmte Ziffernfolge überprüfen.

    Das Input-Feld muss an der ersten (1) Stelle eine Ziffer sein gefolgt von einen Bindestrich anschließend muss ein dreistelliges (3) Feld vorhanden sein. Danach sollte (kann aber muß nicht) ein Punkt (.) folgen und dann (können müssen aber nicht)weitere zwei Ziffern folgen.

    Mein regulärer Ausdruck sieht so aus:

    (^[1-9]-[0-9]{3}.?[0-9]{2}?$)

    funktioniert aber nicht!

    Was mache ich falsch und wer kann mir helfen.

    Vielen Dank im voraus

    Ekiam14
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Meinst du es vielleicht so?
    ^[1-9]-[0-9]{3}(\.[0-9]{2})?$
  4. Alternative Schreibweise zu hackyourlife's Korrektur:
    ^[1-9]-\d\d\d(\.\d\d)?$

    Ansonsten
    ^[1-9]-\d\d\d\.?(\d\d)?$
    oder auch
    ^[1-9]-\d{3}\.?(\d{2})?$

    falls die hinteren Teile getrennt optional sein sollen.

    Positiv-/Negativ-Tests hier http://www.phpliveregex.com/p/2SH und hier http://www.phpliveregex.com/p/2SI.

    Merke: Nix is fix bei regexen:-)
  5. Autor dieses Themas

    ekiam

    Kostenloser Webspace von ekiam

    ekiam hat kostenlosen Webspace.

    Hallo,

    erstmal vielen DANK für die schnellen Antworten.

    Habe es mit http://www.regexe.de/ ausprobiert.

    Werde es aber erst am Montag in meinen Quellcode einarbeiten können und dann berichten ob es klappt und wie unsere User zufrieden sind!

    Gruß und schönes WE
    EKIAM
  6. Reguläre Ausdrücke sind was schönes.
    Ich wollte nur mal anmerken, falls ekiam selbst oder ein anderer Leser gerne wissen möchte warum nun die Lösungen von hackyourlife und suge funktionieren, hier eine kurze Erklärung:

    In regulären Ausdrücken steht der Punkt '.' für jedes beliebige Zeichen.
    Daher bedeutet '.?' ein oder kein beliebiges Zeichen.
    Wenn man den Punkt selbst meint, so muss man es für den Interpreter demaskieren, was man mit einem Backslash macht '\.?'.

    Sucht man zum Beispiel nach einem Backslash in einem regulären Ausdruck muss man diesen auch immer demaskieren '\\'.

    Beitrag zuletzt geändert: 4.1.2014 15:40:27 von augur
  7. Autor dieses Themas

    ekiam

    Kostenloser Webspace von ekiam

    ekiam hat kostenlosen Webspace.

    Hallo Zusammen,

    ich möchte mich einmal bedanken für die Hilfe!

    Besonders bei "hackyourlife" , "suge" und "augur" !

    Ich musste es zwar nochmal ändern, aber durch Eure Erklärung und Beispiele fiel mir es dann leicht!

    Also nochmals vielen Dank und ich hoffe ich darf noch viele weiter Fragen stellen!!

    Gruß
    Ekiam

    Beitrag zuletzt geändert: 14.1.2014 13:32:37 von ekiam
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!