Autor Zpráva
filipek
Profil *
Dobrý den,
mám takovou to funkci pro kontrolu datumu ale nechce me pres ni pustit přes datum: 31.01.2011, když dám jenom 31.1.2011 tak to jde. Mužete mi prosím poradit jak mám výraz upravit aby to bralo i to datum kde je ta nula?

function platne_datum($datum) {

                           return preg_match('~^(0[1-9]|[1-9]|19|[12][0-8]|29(?=\\.([^2]|2\\.(([02468][048]|[13579][26])00|[0-9]{2}(0[48]|[2468][048]|[13579][26]))))|30(?=\\.[^2])|31(?=\\.([13578][02]?\\.)))\\.(0[1-9]|[1-9]|1[012])\\.[0-9]{4}$~D', $datum);
                                                           }
                             if (platne_datum($datum) == 0)
                                {
                                 echo ("Datum je ve špatném formátu!");
                                }
Casper
Profil
filipek:
Zajímalo by mne, zda tomu regulárnímu výrazu vůbec rozumíte.

Každopádně toto by mělo fungovat jak potřebujete:
'~^(0[1-9]|[1-9]|19|[12][0-8]|29(?=\\.([^2]|2\\.(([02468][048]|[13579][26])00|[0-9]{2}(0[48]|[2468][048]|[13579][26]))))|30(?=\\.[^2])|31(?=\\.0?([13578][02]?\\.)))\\.(0[1-9]|[1-9]|1[012])\\.[0-9]{4}$~D'

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: