php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.07.2005, 16:00  
Gast
 
Beiträge: n/a
Standard Nur was ganz kleines: PCRE für Datum

Hallo!
Ich habe ein Formluar und würde gerne über einen regulären Ausdruck das Datum überprüfen. Kann mir jemand bei der Erstellung des RegExp helfen? Das problem dabei für mich war, dass ja nicht jeder Monat gleich viele Tage hat und wenn die dinger so lang werden, verlier ich immer den Überblick. Danke schonmal!

Speedy
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.07.2005, 16:08  
Erfahrener Benutzer
 
Registriert seit: 25.04.2005
Beiträge: 1.356
HStev zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

da wir alle soviel zeit haben freuen wir uns doch darüber dir sowas zu erstellen ...

hast du keinen Ansatz ??? dann ist die Hilfsbereitschaft hier bestimmt auch größer
__________________
Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.
HStev ist offline  
Alt 04.07.2005, 16:16  
Gast
 
Beiträge: n/a
Standard

Code:
/^...$/

Okay, ich probiers mal, aber ich hab nicht wirklich erfahrung mit regexps...
Code:
/^(([012]\d|30).(01).(\d{4}))|(([01]\d|2[013245678]).(02).(\d{4}))|(([012]\d|3[01]).(03).(\d{4})) ... $/
Usw... ist das so denn wenigstens korrekt?
 
Alt 04.07.2005, 16:22  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

wie wäres wenn du einfach das datum mit checkdate() überprüfst? das is extra dafür da ein datum zu checken ob es so exisitert da musst nicht so auf schaltjahre etc blabla achten
Flor1an ist offline  
Alt 04.07.2005, 16:27  
Gast
 
Beiträge: n/a
Standard

hab ich mir auch schon überlegt, aber hatte die funktion vergessen. Ich brauche aber leider auch noch RegExps für
E-Mail-Adrssen (Mein Vorschlag: "/^([a-zA-Z\_\-\.]+)(@{1})([a-zA-Z\_\-])\.([a-zA-Z\_\-]{1,4})$/")
Websites (Mein Vorschlag: "/^(http://)?([w]{3})\.([a-zA-Z\-\_\.]+)(\.{1})[[a-zA-Z\-\_]{2,}]$/")
und ICQ-Nummern (Da sitz ich gerade dran)
Ich werd das mit dem Datum dann mal anders probieren. Thx! Aber sind die pben aufgeführten RegExps richtig?
 
Alt 04.07.2005, 16:31  
Gast
 
Beiträge: n/a
Standard

Hmmmmm,
ich weis zwar nicht welche Bedingungen dein Datum (welches Format) haben soll, aber vieleicht so:

EDIT: (kleiner Fehler ...)

PHP-Code:
<?php
error_reporting
(E_ALL); 

$TXT = <<<EOD
2.12.2005 
45.10.2005 
04.07.2005 

EOD;

preg_match_all('~((0|1)[0-9]|2[0-9]|3[0-1])\.((0)[0-9]|1[0-2])\.(\d{2,4})~'$TXT$array);
echo 
'<pre>'.print_r($arraytrue).'</pre>';

?>
Beim Beispiel sollte nur der 04.07.2005 gefunden werden.
Alle anderen Angaben wären fehlerhaft.
 
Alt 04.07.2005, 17:25  
Gast
 
Beiträge: n/a
Standard

Mensch jetzt habe ich noch an der Jahreszahl geknobbelt:

PHP-Code:
<?php
error_reporting
(E_ALL); 

$TXT = <<<EOD
31.12.2005
EOD;

preg_match('~((0|1)[0-9]|2[0-9]|3[0-1])\.((0)[0-9]|1[0-2])\.(1[9]|2[0])+([\d]{2})~'$TXT$array);
echo 
'<pre>'.print_r($arraytrue).'</pre>';
?>
Als Ausgabe:

Code:
Array
(
    [0] => 31.12.2005
    [1] => 31
    [2] => 
    [3] => 12
    [4] => 
    [5] => 20
    [6] => 05
)
Bei der Jahrezahl sollte nur 19xx und 20xx akzeptieren und 4 Stellen müssen es sein.
 
Alt 04.07.2005, 17:28  
Matthias959
Gast
 
Beiträge: n/a
Standard

Guck doch einfach mal in den Quelltext von irgendeinem Script, wo man sich für irgendwas anmelden kann. (z.B.: ein Forum wie wbb)
Da müsste solch eine Funktion doch eigentlich enthalten seien.
 
Alt 04.07.2005, 17:28  
Gast
 
Beiträge: n/a
Standard

Danke! Das mit dem Datum geht! Danke! *freu*
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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 are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Datums Foumulareingabe mit Datebankeintrag Datum vergleichen freakymiky PHP Tipps 2008 1 21.06.2008 15:49
Jahrestag ermitteln cyberholic PHP Tipps 2006 4 17.12.2006 12:50
näherstes datum zum aktuellen datum herausfinden flflfl Datenbanken 7 01.05.2006 16:57
wie sortiert man Datum bei SQL Abfrage? rockinchina PHP Tipps 2005-2 8 27.09.2005 12:57
Daten aus MYSQL nach Datum filtern Datenbanken 3 19.09.2005 16:09
[Erledigt] Datum vergleichen PHP Tipps 2005-2 1 03.09.2005 16:55
Kleines Problem mit dem DaTUM! Tic Rederon PHP Tipps 2005-2 8 24.08.2005 09:34
[Erledigt] datum in mysql datenbank! Datenbanken 7 09.07.2005 14:43
datum auslesen eintragen PHP Tipps 2005 23 13.04.2005 20:39
Datum in die DB schreiben maximus PHP Tipps 2005 2 09.02.2005 03:35
Sortieren nach Datum Datenbanken 2 30.01.2005 11:21
Problem beim Datum überprüfen...! PHP Tipps 2005 11 25.01.2005 13:39
Datum und Zeit PHP Tipps 2004-2 5 11.12.2004 23:53
Problem mit Datum ?! Datenbanken 21 04.08.2004 16:35
Datum auf deutsch (Blog) PHP Tipps 2004 7 02.08.2004 21:59

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
datum pcre, php pcre datum größer heute

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:47 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.