Zdravím, potřeboval bych poradit s jedním výrazem. Měl by hlídat to, zda se v řetězci vyskutují následující:
1) alespoň jedno písmeno a-z
2) alespoň jedno písmeno A-Z
3) alespoň jedno číslo 0-9
4) řetězec musí mít nejméně 6 znaků
Vyzkoušel jsem několik regulárních výrazů:
- ^([a-z]+|[A-Z]+|[0-9]+){6,}$ -> funguje
- ^([a-z]+[A-Z]+[0-9]+){6,}$ -> nefunguje
- ^([a-zA-Z0-9]+){6,}$ -> funguje
Zadal jsem výraz, který vyhovuje všem 4 bodům. Jak bych měl tedy upravit tento regulární výraz, aby splňoval tyto podmínky.
Fórum › PHP
Regulární výraz
rad bych rekl jak to udelat naraz.. ale ani to co si dal pravdepodobne nefunguje
co kdyz das 000000 ? prvni a treti to samozrejme splni, ale urcite tam neni ani jedno maly a ani jedno velky pismeno
takto:
/.*^(?=.{6,})(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9]).*$/
alebo z modifikatorom i
/.*^(?=.{6,})(?=.*[a-z])(?=.*[0-9]).*$/i
edit: v druhom pripade bude stacit bud jedno male alebo velke pismeno, tak ci tak by som pouzil tento sposob, neni dobre takto trapit uzivatela, len by som dal minimalne 8 znakov
To marioff : Okay, vyzkouším. Akorát jsem se c htěl zeptat, která funkce je na to nejlepší? Momentálně užívám
ereg();
To marioff : Okay, vyzkouším. Akorát jsem se c htěl zeptat, která funkce je na to nejlepší? Momentálně užívám
ereg();
vyraz je pcre http://sk2.php.net/manual/en/book.pcre.php , teda v ereg slapat nebude + ereg_xxx je zastarala funkcia a v php6 pravdepodobne vypadne..
pouzi preg_match() http://sk2.php.net/manual/en/function.preg-match.php
To marioff : Hoj, tož zkouším ten Tvůj výraz, zatím se zdá, že funguje. Akorát mám další otázku, jestliže mám výrazy, které jsem psal pro funkci ereg(), budou mi tyto výrazy stejně fungovat i v té funkci preg_match()? A nebo jsou tam nějaké rozdíly, na které bych si měl dát pozor?
To Anonymní uživatel : ano mali by fungovat s tym rozdielom ze v preg_match musis vyraz uzavriet do oddelovacov (delimiterov) , viac tu http://www.regularnivyrazy.info/php-pcre-perl-compatible.html
napr. ereg("[a-z]{1,10}" ... do preg_match("/[a-z]{1,10}/" .....
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Regulární výraz — založil Johny
Regulární výraz — založil Pilot
Regulární výraz — založil Fanda36
Regularni vyraz — založil don_Dominique
Regularni vyraz — založil BigBear
Moderátoři diskuze