Regulärer Ausdruck
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ausdruck
beispiel
beliebige zeichen
bestimmte ziffernfolge
code
feld
folgen
folgendes problem
frage
hinteren teile
http
input
korrektur
machen
positiv negativ tests
punkt
schnellen antworten
suchen
url
ziffer
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Meinst du es vielleicht so?
^[1-9]-[0-9]{3}(\.[0-9]{2})?$
-
Alternative Schreibweise zu hackyourlife's Korrektur:
^[1-9]-\d\d\d(\.\d\d)?$
Ansonsten
oder auch^[1-9]-\d\d\d\.?(\d\d)?$
^[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:-) -
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 -
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 -
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage