23. juli 2005 - 12:56
Der er
18 kommentarer og 1 løsning
tjek streng for ulovlige tegn
Jeg leder efter et stykke PHP kode som skal tjekke en streng(variabel) for "ulovlige tegn". Det er noget med ereg. Det skal være sådan: * Må indeholde bogstaver fra a-å og A-Å * Må indeholde tal * Må ikke starte eller slutte på mellemrum Jeg fandt dette kode i et andet spørgsmål, som jeg ikke lige fik til at virke: if(ereg("^[a-zA-Z0-9æøåÆØÅ ]+$",$minstreng)) { echo "Ingen fejl"; } else { echo "fejl"; }
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
brug trim() til at fjerne mellemrum i starten og i slutningen af strengen..
Ikke det svar jeg ledte efter. Desværre.
Det var nu heller ikke ment som et svar !-) -- men en måde du kan undgå at brugere opretter navne hvor der er mellemrum først eller sidst i navnet. Uden tvivl at det kan laves i reg. expr. - men hvorfor gå over åen efter vand ?-)
Slettet bruger
23. juli 2005 - 13:30
#4
if(preg_match("/^[a-zA-Z0-9æøåÆØÅ]*[a-zA-Z0-9æøåÆØÅ|\s]+[a-zA-Z0-9æøåÆØÅ]*$/", $minstreng)) Jeg vil tro den kan klare det.. Jeg ved ikke om æøå indgår i \w, hvis de gør, vil det kunne laves meget nemmere
Slettet bruger
23. juli 2005 - 13:31
#5
eller: if(strlen(trim($streng)) == strlen($streng)) { if(preg_match("/^[a-zA-Z0-9æøåÆØÅ|\s]+$/", $minstreng)) { die("ingen fejl"); } } echo "fejl";
Slettet bruger
23. juli 2005 - 13:33
#6
Den kan også laves sådan her: if(strlen(trim($streng)) == strlen($streng)) { if(preg_match("/^[a-z0-9æøåÆØÅ ]+$/i", $minstreng)) { die("ingen fejl"); } } echo "fejl";
Slettet bruger
23. juli 2005 - 13:34
#7
if(strlen(trim($streng)) == strlen($streng)) { if(preg_match("/^[æøåÆØÅ\s\w]+$/", $minstreng)) { die("ingen fejl"); } } echo "fejl"; Måske også sådan... du kan jo selv prøve at lege med det.. de bør allesammen give samme resultat
if(strlen(trim($streng)) == strlen($streng)) hvad gør den linje??
den sammenligner om strengen, efter trim() er lige så lang som strengen uden trim() hvis ikke er der mellemrum i starten eller i slutningen af strengen
Slettet bruger
23. juli 2005 - 14:13
#10
Præcis.
23. juli 2005 - 14:28
#11
if(strlen(trim($streng)) == strlen($streng)) { if(preg_match("/^[æøåÆØÅ\s\w]+$/", $minstreng)) { die("ingen fejl"); } } echo "fejl"; Den virker ikke HELT
23. juli 2005 - 14:29
#12
det nederste ved jeg ikke hvorfor lige blev postet, det skulle det ikke, for det virker jo :-)
Slettet bruger
23. juli 2005 - 14:31
#13
Det er jeg glad for at høre ;)
Slettet bruger
23. juli 2005 - 14:31
#14
Hvis der er andet, kan du bare lige sige til.
23. juli 2005 - 15:28
#15
Det er dog alligvel lidt underligt at du skriver "Ikke det svar jeg ledte efter. Desværre.".. og at det så var den metode du slutter af med at bruge !-)
Slettet bruger
23. juli 2005 - 16:50
#16
Han har sikkert, som jeg også gjorde det, forstået det sådan, at du ville have ham til at lave en simpel $minstreng = trim($minstreng);
25. juli 2005 - 16:13
#17
Præcis.
25. juli 2005 - 17:57
#18
Hvordan han fortolker min kommentar er hans eget "problem".. Det er tilladt at stille spørgsmål til kommentarer - det er vel egentlig det dette forum har til formål ?-)
Slettet bruger
25. juli 2005 - 18:21
#19
Ja det er det lige præcis ;o)
Vi tilbyder markedets bedste kurser inden for webudvikling