Autor Zpráva
Poky
Profil
POSIXový regulární výraz by měl kontrolovat heslo dle požadavků:

- délka 8-14 znaků
- obsahuje aspoň jedno malé písmeno, jedno velké a jednu číslici
- dále může obsahovat @$^-_<> apod.

Děkuji za každý návrh.
djlj
Profil
Viz http://www.regularnivyrazy.info/shrnuti-syntaxe.html

Já bych to jinak asi řešil čtyřmi podmínkami, protože mě teď nenapadá, jak to nacpat do jednoho reg. výrazu; ale určitě to nějak jde.


if(ereg("^([a-zA-Z0-9@\$\^\-_<>]{8,14})$", $heslo) && ereg("^([a-z]{1})$", $heslo) && ereg("^([A-Z]{1})$", $heslo) && ereg("^([0-9]{1})$", $heslo))
thingwath
Profil
Na to bude regulární výraz zbytečně ošklivý, IMHO.
Alphard
Profil
if(ereg("^([a-zA-Z0-9@\$\^\-_<>]{8,14})$", $heslo) && ereg("^([a-z]{1})$", $heslo) && ereg("^([A-Z]{1})$", $heslo) && ereg("^([0-9]{1})$", $heslo))

tohle nemůže fungovat, vzájemně se to vylučuje, ukotvený má být jenom první regulár, nebo je třeba upravit rozsah těch dalších

^([...]{8,14})$ && ^([..]{1})$
djlj
Profil
Jo, jasně, u těch dalších nemaj být na začátku zobáčky a na konci dolary.
Poky
Profil
Díky za ten výraz. Mým problémem bylo, jak říct, že velké, malé písmeno a číslice mohou být kdekoliv v heslu. A dělit to na několik výrazů mi přišlo hloupý. Jak je ale vidět, asi to je vážně oříšek

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: