Avatar billede morpheus Nybegynder
27. november 2003 - 06:04 Der er 21 kommentarer og
2 løsninger

Validering af felt.

Hej,

Spørgsmålet er sikkert stillet mange gange før... men så lige en gang til for Prins Knud (eller Lille-prinsen)..

Hvordan får jeg fundet ud af om mit form felt kun inde holder:
A-Z,a-z,0-9,- og _ (altså ingen whitespaces og special karakterer.
Avatar billede Slettet bruger
27. november 2003 - 06:44 #1
if (preg_match("/^[-A-Za-z0-9_]$/",$formfelt)) {
  echo "Den er god nok";
}
Avatar billede Slettet bruger
27. november 2003 - 06:44 #2
Det var et svar
Avatar billede 7th Praktikant
27. november 2003 - 07:15 #3
eller...

if (eregi ("^[a-z0-9-_]+$" , $_POST['inputfelt'])) {
print "Inputfelt godkendt.";
}
Avatar billede Slettet bruger
27. november 2003 - 07:27 #4
Ups, jeg havde jo glemt at sætte et plus efter klammerne.
Avatar billede roenving Novice
27. november 2003 - 07:45 #5
-- og en lidt kortere RegExp:

if (eregi ("^[\-\w]+$" , $_POST['inputfelt'])) {
print "Inputfelt godkendt.";
}

-- og den kunne også bruges i sandbox' metode !-)
Avatar billede Slettet bruger
27. november 2003 - 07:56 #6
Man skal da ikke escape et minus? Eller har jeg lige en hjerneblødning? Jeg mener bare det skal stå på en plads, hvor det ikke kan forveksles med en range.
Avatar billede morpheus Nybegynder
27. november 2003 - 07:59 #7
roenving:
Hvor kommer _ ind i den her?
if (eregi ("^[\-\w]+$" , $_POST['inputfelt'])) {
Avatar billede roenving Novice
27. november 2003 - 08:01 #8
\w betyder a-z, 0-9 OG _

-- og escape'n af - var bare for en sikkerheds skyld, det kan nemlig ikke skade ...
Avatar billede morpheus Nybegynder
27. november 2003 - 08:05 #9
men hvis du, roenvig lige smider et svar... Så deler i to i porten :)
Avatar billede Slettet bruger
27. november 2003 - 08:06 #10
Forresten, hvis serveren kører med dansk locale, så matcher \w også æøåÆØÅ.
Avatar billede roenving Novice
27. november 2003 - 08:08 #11
Ja, okay, det var jeg ikke opmærksom på, min kilde siger: any character, digit or underscore ...
Avatar billede morpheus Nybegynder
27. november 2003 - 08:27 #12
skal jeg give alle point til sandbox, eller?
Avatar billede Slettet bruger
27. november 2003 - 08:33 #13
Nej, roenving er kommet med to, der begge burde virke, og min oprindelige virker ikke umiddelbart (Der manglede et + og er vistnok enda et par / for meget), så jeg skal ikke have alle pointene.
Avatar billede Slettet bruger
27. november 2003 - 08:34 #14
Hvordan deler man forresten 15p i to?
Avatar billede 7th Praktikant
27. november 2003 - 08:38 #15
preg_match skulle ifølge php.net være en lille smule hurtigere, så jeg ville personlig bruge denne kombination.

if (preg_match ("^[-\w]+$" , $_POST['inputfelt'])) {
print "Inputfelt godkendt.";
}

Iøvrigt er roenving da kun kommet med en, men ingen points til mig ;o)
Avatar billede 7th Praktikant
27. november 2003 - 08:39 #16
Ahh ding dong, preg_match er ikke "case-sentitive", så det skal være eregi.
Avatar billede morpheus Nybegynder
27. november 2003 - 08:51 #17
15point deles sådan her:
7point til Sandbox
7point til roenvig
1point til mig selv

Jeg har mixet lidt af begge forslag, og har nu noget der virker!
- Så jeg vil gerne dele pointene mellem jer
Avatar billede billen Nybegynder
27. november 2003 - 09:03 #18
7th: du mener selvfølgelig at preg_math() ER "case-sensitive". ;-)
Avatar billede 7th Praktikant
27. november 2003 - 09:05 #19
Ja godmorgen :o)
Avatar billede roenving Novice
29. november 2003 - 03:56 #20
Hvis du absolut vil medtage mig i din point-givning, må du da godt -- velbekomme '-)

-- men ellers havde jeg den holdning, at det zq ik' li'e var nødvendigt !-)

-- og hvis du deler point medregner eksperten også brøkdelene selvom du kun kan se det i sammentællingerne ...
Avatar billede roenving Novice
29. november 2003 - 06:23 #21
-- tak for points ;~}
Avatar billede jgni Nybegynder
28. januar 2004 - 01:42 #22
...og hvad hedder linien så hvis der KUN må være a-å, A-Å??
Avatar billede roenving Novice
28. januar 2004 - 04:03 #23
Mon ikke denne skulle du !-)

if (eregi("^[-a-zæøå]+$" , $_POST['inputfelt'])) {
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