Portal > Foren > PHP > PHP-Programmierung > Formularfeld nur Zahlen erlauben (preg_match)
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 09.09.2005, 20:03 Nach oben    #1
Erfahrener Benutzer
 
Benutzerbild von schifti
 
Registriert seit: 06.12.2004
Ort: Bayern
Beiträge: 185
Standard Formularfeld nur Zahlen erlauben (preg_match)

Servus, ich muss ein Formularfeld auf Richtigkeit überprüfen, es dürfen nur Zahlen drinn vorkommen.

Ich habe es schon mit preg_match versucht:
PHP-Code:
<?
if(empty($_POST['PLZ']))
  {
    $fehler = true;
    // $fplz = "fehler" => Ausgabe Fehlermeldung
  }
else if(!preg_match("/^[0-9]{3, 5}$/mi", $_POST['PLZ']))
  {
    $fehler = true;
   // $fplz = "nur Zahlen" => Ausgabe....
  }
?>
Ich habe es auch schon mit preg_match_all() und ein paar anderen Stellungen versucht, bekomme es aber einfach nicht hin.


Ich bin euch für jeden Tip dankbar.
schifti ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.09.2005, 20:07 Nach oben    #2
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard Formularfeld nur Zahlen erlauben (preg_match)

Teste mal
PHP-Code:
<?php

    
if(array_key_exists('plz'$_POST) AND is_numeric($_POST['plz'])) {
        
printf('Der Inhalt von $_POST["plz"] ist numerisch: %s'$_POST['plz']);
    }

?>
http://www.php.net/is_numeric

Grüße Ben.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.09.2005, 20:49 Nach oben    #3
Erfahrener Benutzer
 
Benutzerbild von schifti
 
Registriert seit: 06.12.2004
Ort: Bayern
Beiträge: 185
Standard Formularfeld nur Zahlen erlauben (preg_match)

Danke, ich war zu sehr auf "preg_match" vertieft, ich hatte auch schon is_int() ausprobiert, bin aber nicht weiter gekommen.

Bis Montag.
schifti ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.09.2005, 21:18 Nach oben    #4
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.208
Standard Formularfeld nur Zahlen erlauben (preg_match)

is_int überprüft den Datentyp, sämtliche Daten die Per forumular geschickt werden kommen meines wissens in php als array oder string an, also geht das auf jeden fall schief.

is_numeric erlaubt aber hingegen auch 23.45 also auch Floats.

und der regex ^[0-9]{3,5}$

sollte eigentlich funktionieren, wobei das m und das i bei dem regex eigentlich unnötig sind.

mfg
robo47
robo47 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 10.09.2005, 01:05 Nach oben    #5
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard Formularfeld nur Zahlen erlauben (preg_match)

Ich denke mal, es lag am Leerzeichen.
Code:
{3, 5}
   ^
Ist aber nur eine leere Vermutung
__________________
Gedanken aus Draht stricken einen Zaun.
Lars ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.09.2005, 11:18 Nach oben    #6
Christian Mühlroth
 
Benutzerbild von Chr!s
 
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
Standard Formularfeld nur Zahlen erlauben (preg_match)

Zitat:
Zitat von Lars
Ich denke mal, es lag am Leerzeichen.
Code:
{3, 5}
   ^
Ist aber nur eine leere Vermutung
Dasselbe sagt mir "The Regex Coach" auch
Code:
[0-9]{3,5}
funktioniert einwandfrei.
__________________
http://www.ChrisDiary.De
Chr!s ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.09.2005, 07:35 Nach oben    #7
Erfahrener Benutzer
 
Benutzerbild von schifti
 
Registriert seit: 06.12.2004
Ort: Bayern
Beiträge: 185
Standard Formularfeld nur Zahlen erlauben (preg_match)

mit is_nummeric funktioniert es, da ich aber evtl. auch ein Buchstabe durch lassen muss, muss ich wohl doch preg_match nehmen und es funktioniert auch mit preg_match, es lag an dem "Leerzeichen" zwischen den {min,max}


So, nun lese ich erstmal die anderen Beiträge.
schifti ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.03.2006, 13:41 Nach oben    #8
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Der Thread hier ist zwar schon etwas älter, aber ich füge hier noch einen Link hinzu, für die, die per Suche auf diesen Thread aufmerksam werden.

Auf php.de gibt es aktuell ein ähnliches Thema und da gibt es einige nette Codeschnipsel dazu (eventuelle Diskussionen, die nichts mit dem Thema zu tun haben, kann ich von hier aus natürlich nicht vermeiden ).
Feststellen ob Zahl = Ganzzahl

Grüße Ben.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Zahlen und Bustabenkombinationen.. Steven Gerrard PHP-Programmierung 3 25.06.2006 14:56
Wie kann man aus einem String von Zahlen erkennen, dass es sich um Zahlen handelt? coolex Allgemeine Java-Programmierung 8 15.01.2006 10:01
Microsft muss wieder zahlen - begründet? Bookworm Plauderecke 23 28.12.2005 14:09
Algorithmus zum Potenzieren von beliebigen Zahlen Gottzilla Allgemeine Java-Programmierung 2 09.12.2005 09:01


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:22 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45