Avatar billede webcreator Nybegynder
12. juli 2004 - 17:32 Der er 8 kommentarer og
1 løsning

Tjek brugernavn - kun bogstaver og tal er tilladt

Hej.

Jeg har flg. kode : if(ereg('[A-Za-z0-9]', $username))

Den tillader desværre uden problemer über, ûber osv. Hvordan undgås dette?
Avatar billede webcreator Nybegynder
12. juli 2004 - 17:34 #1
Jeg er kun interesseret i at der tillades A-Z, a-z og 0-9 (men vil gerne have et ekstra eksempel på, hvordan æ, ø og å kan kobles på
Avatar billede squashguy Nybegynder
12. juli 2004 - 17:39 #2
^ som første tegn: ingen tegn må stå foran
$ som sidste tegn: ingen tegn må stå bagved

if(ereg('^[A-Za-z0-9]$', $username))

skrevet bedre, eregi() laver en case insensitive søgning
if(eregi('^[a-z0-9]$', $username))

med æøå
if(eregi('^[a-z0-9æøå]$', $username))
Avatar billede squashguy Nybegynder
12. juli 2004 - 17:41 #3
hvis du så lige sætter et + på, så hjælper det :)

^[a-z0-9]+$
Avatar billede squashguy Nybegynder
12. juli 2004 - 17:42 #4
+ så tillades en streng på ét eller flere tegn
Avatar billede webcreator Nybegynder
12. juli 2004 - 17:44 #5
Ok, perfekt. Tak for den gode forklaring. Rart at man ikke bare får smidt resultatet i hovedet, men faktisk også bliver klogere ;)

Smid et svar
Avatar billede webcreator Nybegynder
12. juli 2004 - 17:49 #6
Forresten - du har vel ikke en e-mail validering liggende i din skuffe?
Det skal ikke være noget advanceret - bare en der tjekker på
1) Noget foran @
2) Noget efter @
3) Punktum efter @

Noget i den retning - så folk ikke bare skriver det sædvanlige "lsdkfj" i e-mail feltet.
Avatar billede webcreator Nybegynder
12. juli 2004 - 17:53 #7
Jeg har fundet nedenstående, som ser ud til at virke fint. Men kan ikke helt gennemskue hvad alle tegnene gør.

(eregi("^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}$", $email))
Avatar billede squashguy Nybegynder
12. juli 2004 - 18:19 #8
| betyder eller
\ er escape tegn. "\." betyder punktum, mens "." alene betyder alle tegn

dvs første blok ([a-z0-9_]|\-|\.) kan oversættes

[a-z0-9_] <eller> bindestreg <eller> punktum

[a-z]{2,4} antal tegn tilladt begrænses til x, hvor 2 <= x <= 4

dvs TLD kan altså ikke være på mindre end 2 eller mere end 4 bogstaver

mere du er i tvivl om?
Avatar billede webcreator Nybegynder
12. juli 2004 - 18:34 #9
Nej, jeg har forstået det. Mange tak skal du have :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester