Autor Zpráva
PHP_koule
Profil *
Ahoj, snažím se najít regulární výraz, který by mi zjistil, zda uživatel zadal do pole alespoň jedno písmeno nebo číslo (zda pole není 7 mezer).
Zkoušel jsem toto:
!preg_match("^[_a-zA-Z0-9-]+$", $nadpis_bur)

Nevíte náhodou někdo? Díky moc
Jan Tvrdík
Profil
PHP_koule:
Tohle se obvykle řeší tak, že z toho pole odstraníš počáteční a koncové mezery pomocí funkce trim a pokud tam ještě něco zbude, tak je pole považováno za vyplněné.

$pole = trim($pole);
if (!empty($pole)) {
    // pole není prázdné
}

Regulární výraz, který by zjistil, zda v poli je alespoň jedno číslo nebo alespoň jeden znak by vypadal takto:

if (preg_match('#[a-z0-9]#i', $pole)) {
    // pole není prázdné
}
PHP_koule
Profil *
Můžu takto?

if (preg_match('#[a-zA-Z0-9]#i', $pole)) {
    // pole není prázdné
}
panther
Profil
PHP_koule:
Můžu takto?
proč to nezkusíš, jestli daný regulár vyhovuje?

Vzhledem k tomu, že se tam máš modifikátor i, tedy „case-insensitive“, je to přidání velkých písmen zbytečné.
PHP_koule
Profil *
Předpokládám, že # znamená znak kdekoliv...
panther
Profil
PHP_koule:
Předpokládám, že # znamená znak kdekoliv...
nepředpokládej a klikni na název funkce, v některé z příspěvků zde nebo navštiv rovnou PHP manuál. Co ten znak (v tomto případě může být nahrazen i jinými) znamená, se tam dozvíš.
Jan Tvrdík
Profil
PHP_koule:
Předpokládám, že # znamená znak kdekoliv...
Předpokládáš špatně, jedná se o tzv. delimiter. Tedy něco, co obaluje regulární výraz a za co se na konci (volitelně) uvádí modifikátory. To, že se hledání kdekoliv je díky tomu, že ten regulární výraz je tzv. neukotvený, tj. nemá na začátku ^ a na konci $ resp. nemá modifikátor A.
PHP_koule
Profil *
Jan Tvrdík:
Moc dík

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:

0