webForumDet fria alternativet
Logga in / Bli medlem

Regexp

PHP

3 svar · 210 visningar · startad av oelbal

Medlem sedan jan. 20014 973 inlägg
Frågan#1

Snabb fråga:
Jag vill kolla om $variabel innehåller a-z, 0-9, endast lowercase, hur görs detta?

Är liten osäker på användningen av ereg(), eregi(), Regular Expressions samt POSIX

Medlem sedan juni 20008 205 inlägg
#2

mönstret du vill ha är ^[a-z\d]+$.

$pattern = '^[a-z\d]+$';
if(ereg($pattern, $en_variabel)){
// Rocka fett!
} else {
// Please try again.[/red]
} // else

^ betyder "början på strängen",
hakparanteser betyder "något av de tecken som anges inom paranteserna",
\d betyder "valfri siffra" (samma som 0-9),
a-z torde vara självklara, ;)
+ efter ett mönster betyder "mönstret innan plustecknet en eller fler gånger",
och $ betyder slutet på strängen.
Alltså, mellan strängens början och dess slut måste det finnas en eller flera siffror och/eller små bokstäver.
eregi, f.ö., gör samma sak som ereg fast är skiftlägesokänslig.

Nu får du lite bakläxa. :)

Medlem sedan jan. 20014 973 inlägg
#3

Tackar spango!

Lika kompetent förklaring som alltid!

Medlem sedan juni 20008 205 inlägg
#4

:r

261 ms totalt · 4 externa anrop · v20260731065814-full.14655e19
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)