webForumDet fria alternativet

Godkända tecken - strängen funkar ej som tänkt

PHP

7 svar · 336 visningar · startad av Mazor

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

Hej!

Min kod ser ut på följande sätt:

if (preg_match("/^[a-ö0-9\.\-_\+\[\]\{}\()\=]+$/is", $_POST['username'])){

Jag har strulat till det rejält och det funkar inte som det ska längre. Jag vill acceptera:

a-ö
0-9
-_[]=().

Vilka tecken godkänner min sträng, och vad ska jag skriva istället för att bara ovanstående ska accepteras?

Tack på förhand!

Medlem sedan aug. 20002 975 inlägg
#2

Testa med:

if (preg_match("/^[a-ö0-9.\\-_+[\\]{}()=]+$/is", $_POST['username'])){
Medlem sedan jan. 20046 inlägg
#3

Okay, kan prova.

Ibland har det även hänt att vissa har helt ok användarnamn men måste ta bort sina cookies för att det ska funka, undrar vad det kan ha med o göra... Får kolla över det igen.

Tack.

Medlem sedan aug. 20002 975 inlägg
#4

Vad måste de ta bort sina cookies för, för att det ska fungera?

Medlem sedan jan. 20046 inlägg
#5

Vad vet jag inte, men vissa har fått reaktion på det som sagt att det inte funkar (med den funktionen jag bifogade), och när de clearade cookies funkade det igen!

Medlem sedan aug. 20002 975 inlägg
#6

cookies har ingen påverkan där. Det måste isåfall störa någon annanstans.

Medlem sedan jan. 20046 inlägg
#7

Ne precis, det jag menade. Tack ändå. Säker på att din sträng kommer funka? ;P

Medlem sedan juni 20008 205 inlägg
#8

Att säga [a-ö] i ett mönster är vanskligt. Skriv [a-zåäö] i stället, alla länder (och framför allt ASCII-tabellen) har inte samma sorteringsordning på ö som vi.

261 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)