Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: PHP: 9+ luku regexpillä

Sivun loppuun

punppis [10.11.2008 22:07:13]

#

Voiko säännöllisillä lausekkeilla tarkistaa lukuja, jotka on suurempia kuin 9. Esim. kun pitäisi syöttää syntymäaika muodoss ppkkvv, niin ei voisi syöttää 000000 tai 321380?

Grez [10.11.2008 22:12:34]

#

Voi tarkistaa, voit jopa tehdä sellaisen että 300208 ei mene läpi. Tosin helposti tulee aika monimutkaisia lausekkeita mitä hienomman teet siitä.

punppis [10.11.2008 22:13:12]

#

Grez kirjoitti:

Voi tarkistaa, voit jopa tehdä sellaisen että 300208 ei mene läpi. Tosin helposti tulee aika monimutkaisia lausekkeita mitä hienomman teet siitä.

No voisko vähän antaa apuja, kun en itse mistään löydä ohjeita moiseen tarkistukseen. Ei nyt tuota helmikuun tarkistusta tarvitse sentään olla :P

Grez [10.11.2008 22:19:52]

#

No tämä kelpuuttaa arvot 01 - 31, pystynet itse jatkamaan loppuun:

^(0[1-9])|([12][0-9])|(3[01])$

punppis [10.11.2008 22:20:15]

#

Grez kirjoitti:

No tämä kelpuuttaa arvot 00 - 31, pystynet itse jatkamaan loppuun:

^(0[1-9])|([12][0-9])|(3[01])$

Kiitos.

peg [10.11.2008 22:34:24]

#

ystäväsi on checkdate https://www.php.net/manual/en/function.checkdate.php

Antti Laaksonen [10.11.2008 23:01:07]

#

Tässä tulee hieman aiheeseen liittyvää teoriaa:

Jos kelvollisilla merkkijonoilla on jokin maksimipituus (tässä kuusi merkkiä), on aina mahdollista muodostaa niitä vastaava säännöllinen lauseke.

Suoraviivainen tapa on luetella kaikki vaihtoehdot:

(010100|020100|030100| ... |311299)

Niinpä on mahdollista muodostaa säännölliset lausekkeet, jotka tarkistavat, onko merkkijono suomalainen henkilötunnus, jonkin ennen 2000-lukua painetun kirjan sisältö, alle miljoonamerkkinen tietokoneohjelma, joka ratkaisee kauppamatkustajan ongelman polynomisessa ajassa, ...

Grez [10.11.2008 23:03:44]

#

Kannattaa silti pitää mielessä, että säännölliset lausekkeet ei aina ole järkevin vaihtoehto lähestyä asiaa. Esimerkiksi tuon henkilötunnuksen tarkistaminen ei mielestäni ole järkevää tehdä kokonaan säännöllisillä lausekkeilla. Itse hakisin ehkä massasta muodollisesti pätevät ja tarkistaisin tarkisteen muulla keinolla.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta