Autor Zpráva
fojta
Profil *
Zdravim,
potreboval bych pomoc s reg. vyrazem. Potrbuju aby to poustelo od a do z (jenom mala), /, vsechny cisla, : a -

diky
Nox
Profil
^[a-z\d/:-]*$

použití
if( !preg_match("#^[a-z\d/:-]*$#", $input) ) echo "obsahuje neplatné znaky";


povolí i délku 0, pokud chceš délku 1+ vyměň * za + ... pokud chceš určitou délku:
if( !preg_match("#^[a-z\d/:-]{4,20}$#", $input) ) echo "obsahuje neplatné znaky nebo má neplatnou délku (4 až 20)";
fojta
Profil *
a co kdybych chtel povolit i velke pismena ?
Joker
Profil
fojta:
Buď jak je [a-z... tak tam přidáte i A-Z, tj.: [a-zA-Z... anebo k regulárnímu výrazu přidáte modifikátor "i".
fojta
Profil *
a co kdyz chci udelat filter, a u nej chci aby prosli jen povolene znaky a nepovolene zmizely ?
mckay
Profil
fojta:
A co kdybys konečně vypsal co všechno potřebuješ? ;-)
Joker
Profil
fojta:
Poznámka mimo: Před otazníkem (a interpunkcí obecně) se nedělá mezera.

a co kdyz chci udelat filter, a u nej chci aby prosli jen povolene znaky a nepovolene zmizely?
Znegujete hranatou závorku znakem ^ na začátku, dáte vyhledat kdekoli v řetězci (= odstraníte ^ a $ na začátku a konci reguláru) a hledáte nejméně jeden takový znak, čili + místo *

Vznikne: #[^a-z\d:-]+#
...a uděláte nahrazení všeho co vyhovuje tomuto výrazu prázdným řetězcem.

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: