Autor Zpráva
KozmíkRadek
Profil *
Hledám script, který by kontroloval přihlašovací jméno. Jde mě hlavně o to, aby uživatelské jméno nemělo mezery, různé znaky (@?!/*-+ ....) a bylo použito pouze ze znaků A-Z,a-z,0-9

Předpokládám, že mě doporučíte regulérní výrazy, jenže to jsem již hledal a nechápu je.

Moc děkuji za osobu, která mě daný script přímo sem hodí. Dál si ho už implementuji.
SeparateSK
Profil
Niečo takéto ? :)
<?php
function kontrola($text){
    if(!ctype_alnum($text)) return false;
    if(!preg_match("/\S/m",$text)) return false;
    return true;
}
$meno="Mám meno s medzerou a s znakmi ako [ ] $ ";
if(kontrola($meno)) echo "OK"; else echo "Neplatné meno";
?>
Keeehi
Profil
if(preg_match("~^[a-z0-9]+$~i",$jmeno))
    echo "OK";
else
    echo "Neplatné meno";

Doufám že víš, že rozsah A-Z neobsahuje znaky s diakritiou. Jinak ten regulár požaduje, aby vstup byl složen jen z A-Z,a-z,0-9 v počtu 1 až nekonečno znaků.
KozmíkRadek
Profil *
v počtu 1 až nekonečno znaků. ... jak regulátor změnit, aby to třeba bylo pro max 20 znaků?
martin1312
Profil
Mozes pridat este ako dalsiu kontrolu
if (strlen($jmeno) > 20) echo "Pridlhe meno";
Keeehi
Profil
Samozřejmě že jde:
if(preg_match("~^[a-z0-9]{1,20}$~i",$jmeno))
nemeja
Profil
Oba dva pánové Vám neuvedli příklad jak dát podmínku, aby to bylo v požadovanym reguláru a aby to bylo max 20 znaků. Zde ji uvádím:
if(preg_match("~^[a-z0-9]{1,20}$~i",$jmeno) && strlen($jmeno)>20) echo "podminka prosla";
BuGeR
Profil
nemeja:
Když už, tak:
if(preg_match("~^[a-z0-9]{1,20}$~i",$jmeno) && strlen($jmeno) < 20) echo "podminka prosla";
Keeehi
Profil
nemeja:
Ale já ano. Můj regulár povoluje délku 1-20. No můžeš schválně hádat, co z něho to asi bude.
nemeja
Profil
Aha pardon, přehlíd jsem se, myslel jsem že to je to samé jako před tím :D samozřejmě to taky funguje. *SORRY*

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: