Autor | Zpráva | ||
---|---|---|---|
Poky Profil |
#1 · Zasláno: 23. 12. 2007, 00:59:16
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 |
#2 · Zasláno: 23. 12. 2007, 01:07:24 · Upravil/a: djlj
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 |
#3 · Zasláno: 23. 12. 2007, 01:18:33
Na to bude regulární výraz zbytečně ošklivý, IMHO.
|
||
Alphard Profil |
#4 · Zasláno: 23. 12. 2007, 09:11:06
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 |
#5 · Zasláno: 23. 12. 2007, 10:14:26
Jo, jasně, u těch dalších nemaj být na začátku zobáčky a na konci dolary.
|
||
Poky Profil |
#6 · Zasláno: 23. 12. 2007, 23:23:45
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
|
||
Časová prodleva: 16 let
|
0