Autor | Zpráva | ||
---|---|---|---|
PHP_koule Profil * |
#1 · Zasláno: 16. 9. 2012, 12:52:40
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 |
#2 · Zasláno: 16. 9. 2012, 12:58:09
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 * |
#3 · Zasláno: 16. 9. 2012, 12:59:34
Můžu takto?
if (preg_match('#[a-zA-Z0-9]#i', $pole)) { // pole není prázdné } |
||
panther Profil |
#4 · Zasláno: 16. 9. 2012, 13:04:43
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 * |
#5 · Zasláno: 16. 9. 2012, 13:06:18
Předpokládám, že # znamená znak kdekoliv...
|
||
panther Profil |
#6 · Zasláno: 16. 9. 2012, 13:07:52
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 |
#7 · Zasláno: 16. 9. 2012, 13:10:52
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 * |
#8 · Zasláno: 16. 9. 2012, 13:22:10
Jan Tvrdík:
Moc dík |
||
Časová prodleva: 12 let
|
0