Avatar billede eazye Nybegynder
02. januar 2005 - 01:31 Der er 7 kommentarer og
1 løsning

Må ikke indeholde specialtegn

Hej eksperter, jeg kunne ikke finde svar på dette andetsteds:

Hvis jeg skal sætte en begrænsning på indholdet af en variabel, så ville jeg bruge:

if (!eregi('^[a-zA-ZæøåÆØÅ0-9]+$',$var)) echo "Ugyldige tegn";

men hvordan skal jeg skrive det, hvis jeg også vil have følgende tegn med: _,.-*'|  ...?

nogle af dem, kan let puttes ind mens andre giver fejl, eks - og ' hvad skal jeg gøre?

på forhånd tak

- eazye
Avatar billede mostcrazy Nybegynder
02. januar 2005 - 01:37 #1
min umiddelbare ide ville nok være at smide \ foran tegnet, så burde det jo blive ignoreret?
Avatar billede eazye Nybegynder
02. januar 2005 - 01:38 #2
det har jeg prøvet, men så kan man også bruge \ i variablen.. og det er ikke meningen
Avatar billede gammelhat Nybegynder
02. januar 2005 - 01:44 #3
if (!eregi('^[-_,.*\'|a-zA-ZæøåÆØÅ0-9]+$',$var)) echo "Ugyldige tegn";

hvis du placere '-' som det første eller sidste tegn, behøver det ikke escapes. Ellers behøver du blot escape ' da tegnet bruges til at indramme din streng
Avatar billede eazye Nybegynder
02. januar 2005 - 01:46 #4
gammelhat > nu kan jeg desværre bare bruge \ i variablen.. men det andet virker fint nu..
Avatar billede gammelhat Nybegynder
02. januar 2005 - 02:10 #5
Det burde du ikke kunne. Hvordan ser din test-kode ud?
Avatar billede coderdk Praktikant
02. januar 2005 - 02:17 #6
preg* er ofte hurtigere:

if ( !preg_match( '/^[a-z0-9æøåÆØÅ \-_,\.\*\'\|]+$/i', $var ) ) echo "Ugyldige tegn";
Avatar billede eazye Nybegynder
02. januar 2005 - 02:33 #7
tak coderdk - det var bedre :) også tak til jer andre..
Avatar billede coderdk Praktikant
02. januar 2005 - 02:34 #8
og et svar :D
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