[PHP/RegExp] tijd valideren

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • BetuweKees
  • Registratie: Januari 2003
  • Laatst online: 15-07 20:53

BetuweKees

Flipje uit Tiel

Topicstarter
Hoi,

Ik probeer een reg expr in elkaar te zetten om te kijken of een ingevoerde tijd geldig is. Enige is dat ik vrij nieuw ben met regular expressions. Volgens een manual dat ik door heb genomen zou je door middel van het tussenhaakjes zetten van een statement deze optional kunnen maken. Dit heb ik dan ook gedaan, maar lijkt niet helemaal naar behoren te werken. In de onderstaande code worden namelijk alleen de tijden gevalideerd die zowel een : als een . in de tijd hebben; de rest is ongeldig. Dit is natuurlijk niet de bedoeling.
Om een en ander te verduidelijken heb ik hieronder een stukje test code plus mijn reg expr bijgevoegd. Alle tijden die in de array staan zouden moeten valideren, behalve de laatste entry, die is toegevoegd om te controleren of er niet per ongeluk een fout optreed waardoor alles zou valideren.
Iemand die me hiermee kan helpen?


PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/*
    eventueel (x aantal decimalen gevolgd door een dubbele punt OF alleen een dubbele punt)
    2 decimalen
    eventueel (een punt gevolgd door een of twee decimalen) 
*/

    $regexpr = "/^([0-9]+:|:)[0-9]{2}(\.[0-9]{1,2})$/";
    $tijden = array("12:58.32", "12:58.3", "12:58", 
                    ":34.10", ":34.1", "34.10", "34.1", "34", 
                    "onzin");
    
    foreach($tijden as $tijd) {
        echo $tijd ."\t";
        echo (preg_match($regexpr, $tijd) ? "true" : "false");
        echo "\n";
    }

Through meditation I program my heart to beat breakbeats and hum basslines on exhalation -Blackalicious || *BetuweKees was AFK; op de fiets richting China en verder


Acties:
  • 0 Henk 'm!

  • BetuweKees
  • Registratie: Januari 2003
  • Laatst online: 15-07 20:53

BetuweKees

Flipje uit Tiel

Topicstarter
opgelost door middel van:

PHP:
1
    $regexpr = "/(^|^[0-9]*:)[0-9]{2}(\.[0-9]{1,2}$|$)/";


leuk spul die regular expressions.. alleen jammer dat er zoveel tijd in gaat zitten.. :/

[ Voor 34% gewijzigd door BetuweKees op 22-12-2003 03:03 ]

Through meditation I program my heart to beat breakbeats and hum basslines on exhalation -Blackalicious || *BetuweKees was AFK; op de fiets richting China en verder