ERLEDIGT
JA
JA
ANTWORTEN
17
17
ZUGRIFFE
583
583
EMPFEHLEN
-
31.01.07 11:27 #1
Hallo
Ich möchte vor dem Versenden des Formular prüfen ob im Feld nummern
1. Nur Zahlen von 0-9 vorhanden sind
2. Keine 0 sich am Anfang der Zahl befindet
3. Keine Leerzeichen sich am Anfang oder Ende befinden
4. Zwischen den eingegebenen Zahlen muss b.z.w darf max ein Leerzeichen sein.
Beispiel:
Richtig
1 22 333 4444 50000
Falsch
0 1 2 3 4 5
Falsch
1 2 3 4 05
Falsch
1..2....3....4..... 5
Mein Code bisher
PHP-Code:
$nummern= $_POST['nummern'];
if (preg_match ("/^([0-9]+)$/", $nummern))
{
echo "Eingabe OK";
}
else
{
echo "Bitte geben Sie nur Zahlen getrennt durch Leerzeichen ein";
}
Code :1 2 3 4
<form action="test.php" method="POST"> <input type="text" name="nummern" value=""> <input type="submit" value="Send"> </form>
Gruß ThomasShit doesn't happen, it's produced by an asshole - Ein Anwendungsbeispiel sagt mehr als 1000 Worte.
Sieh es nicht als selbstverständlich an, dass Dir jemand hilft und uneigennützig sein Wissen mit Dir teilt.
-
31.01.07 11:30 #2
- Registriert seit
- Jan 2004
- Ort
- Paderborn
- Beiträge
- 1.210
zu 3. Verwende trim().
-
31.01.07 11:49 #3
Hallo suye
Ein Problem weniger.
Bleibt nur noch:
2. Keine 0 sich am Anfang der Zahl befindet
4. Zwischen den eingegebenen Zahlen muss b.z.w darf max ein Leerzeichen sein.
Gruß ThomasPHP-Code:$nummern= $_POST['nummern'];
$nummern= trim($nummern);
if (preg_match ("/^([0-9]+)$/", $nummern))
{
echo "Eingabe OK";
}
else
{
echo "Bitte geben Sie nur Zahlen getrennt durch Leerzeichen ein";
}
Shit doesn't happen, it's produced by an asshole - Ein Anwendungsbeispiel sagt mehr als 1000 Worte.
Sieh es nicht als selbstverständlich an, dass Dir jemand hilft und uneigennützig sein Wissen mit Dir teilt.
-
PHP-Code:
if (preg_match ("/^[1-9][\d\s]*$/", $nummern) && !strstr(' ',$nummern))
{
echo "Eingabe OK";
}
else
{
echo "Bitte geben Sie nur Zahlen getrennt durch Leerzeichen ein";
}
-
31.01.07 12:11 #5
Hallo Sven Mintel
Danke für die Antwort.
Wenn ich die Zahlen 1 2 03 eingebe Zeigt er mir Eingabe OK an.
Das sollte nicht sein weil 03 dabei ist. Die 0 am Anfang der Zahl ist nicht erlaubt.
Gruß ThomasShit doesn't happen, it's produced by an asshole - Ein Anwendungsbeispiel sagt mehr als 1000 Worte.
Sieh es nicht als selbstverständlich an, dass Dir jemand hilft und uneigennützig sein Wissen mit Dir teilt.
-
Ach so war das gemeint mit der 0
-
31.01.07 12:17 #7
Sorry Sven Mintel
Hätte
2. Keine 0 sich am Anfang der Zahlen befindet schreiben sollen.
Gruß ThomasShit doesn't happen, it's produced by an asshole - Ein Anwendungsbeispiel sagt mehr als 1000 Worte.
Sieh es nicht als selbstverständlich an, dass Dir jemand hilft und uneigennützig sein Wissen mit Dir teilt.
-
Ich hab hier einen etwas komplexeren Ausdruck, dieser schliesst aber gleich mit ein, dass nur maximal ein Leerzeichen zwischen den Ziffern sein darf.
Im Editor hatte dieser aber irgendwie Probleme mit dem Zeilenende, daher hab ich das mal weggelassen.
Alternativ kannst Du auch den folgenden mal testen, das ist der gleiche Ausdruck, nur eben mit Zeilenende, also die Variante die bei mir im RegEx-Editor nicht funktionieren wollte.Code :1
^[1-9]([\s]?[\d])*
Code :1
^[1-9]([\s]?[\d])*$
Nachtrag: Dieser RegEx schliesst auch Strings wie 1 02... aus.
Also der nun zuletzt angesprochene Punkt.Code :1
^[1-9]([\s]?[1-9]+[\d]*)*
PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
__________________
EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
__________________
__________________Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
Zitat von Friedrich Nietzsche
-
Anderer Vorschlach:
PHP-Code:if(!preg_grep('@(\S|\s{2,})@',preg_split('|[1-9]\d*|',trim($nummern))))
{
echo "Eingabe OK";
}
else
{
echo "Bitte geben Sie nur Zahlen getrennt durch Leerzeichen ein";
}
-
31.01.07 12:47 #10
Hallo Sven Mintel, Dennis Wronka
Beide Abfragen funktionieren super welche soll ich jetzt nehmen?
Vielen Dank.
Gruß Thomas
HTML-Code:if(!preg_grep('@(\S|\s{2,})@',preg_split('|[1-9]\d*|',trim($nummern)))) if (preg_match ("/^[1-9]([\s]?[1-9]+[\d]*)*$/", $nummern) && !strstr(' ',$nummern))Shit doesn't happen, it's produced by an asshole - Ein Anwendungsbeispiel sagt mehr als 1000 Worte.
Sieh es nicht als selbstverständlich an, dass Dir jemand hilft und uneigennützig sein Wissen mit Dir teilt.
-
Meine ist kürzer
-
Dennis’ Vorschlag ist zudem falsch, da dort keine null an zweiter Position der ersten Zahl erlaubt ist.
Mein (noch kürzerer) Vorschlag:Jetzt wäre nur noch die Frage, welcher der effektivste ist. Ich tippe auf meinen.PHP-Code:preg_match('/^(?:\s?[1-9]\d*)+$/', trim($nummern))
Markus Wulftange
-
PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
__________________
EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
__________________
__________________Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
Zitat von Friedrich Nietzsche
-
31.01.07 13:43 #14
Hallo Gumbo
Dennis’ Vorschlag ist zudem falsch, da dort keine null an zweiter Position der ersten Zahl erlaubt ist.
Soweit hatte ich es noch nicht durchgetestet stimmt aber Vorschlag ist falsch.
Danke an alle, die mir geholfen haben.
Gruß ThomasShit doesn't happen, it's produced by an asshole - Ein Anwendungsbeispiel sagt mehr als 1000 Worte.
Sieh es nicht als selbstverständlich an, dass Dir jemand hilft und uneigennützig sein Wissen mit Dir teilt.
-
Markus Wulftange
Ähnliche Themen
-
Formularfelder auf Eingabe überprüfen
Von Schniko im Forum PHPAntworten: 27Letzter Beitrag: 07.07.10, 15:24 -
GET-Eingabe überprüfen
Von Dörti.Hermi im Forum PHPAntworten: 4Letzter Beitrag: 08.02.08, 17:56 -
Formular Eingabe überprüfen
Von hubbl im Forum PHPAntworten: 1Letzter Beitrag: 04.11.07, 23:18 -
GET eingabe auf URL überprüfen
Von kase im Forum PHPAntworten: 13Letzter Beitrag: 11.08.07, 15:57 -
Eingabe auf Richtigkeit überprüfen
Von matzseesi im Forum PHPAntworten: 2Letzter Beitrag: 13.03.04, 14:38





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren