Kun tal.

Tags:    php

Hej,

Hvordan laver jeg en tjek om et felt er med bogstaver, men hvor det kun er tilladt med tal.

Eksempel i post nummer.

Og hvordan laver jeg den så omvendt, med kun bogstaver.

Håber nogen der vil forklare mig nærmere om dette.

Gerne i php. Så den tjekker op på det, da javascript kan man jo slå fra.



9 svar postet i denne tråd vises herunder
5 indlæg har modtaget i alt 18 karma
Sorter efter stemmer Sorter efter dato
prøv denne
Fold kodeboks ind/udKode 


demo http://udvikleren.olsensweb.dk/bos.php
source http://udvikleren.olsensweb.dk/bos.php?source

hvis der indtastes tal i feltet skal det være 4 og kun 4 tal, og intet andet (tested af NumbersOnly)
hvis der indtastes bogstaver må det kun være bogstaver og intet andet (tested af CharOnly)




@scooter Det er fint nok at validere clientside. Men jeg håber du er klar over at man også skal(!) validere serverside. Husk på at alt hvad der ligger clientside kan blive manipuleret med.



Det fint nok du vil teste med PHP og det er jo bedst men formularen skal jo sendes hver gang og det kan måske være irriterende hvis brugeren skriver forkert flere gange.

I HTML5 kan du bruge pattern attributten.

Fold kodeboks ind/udHTML kode 


Jeg ved så ikke lige med æøå og andre tegn men ideen er at brugeren så får besked med det samme hvis det indtastede er forkert hvilket gør oplevelsen bedre for brugeren.




I HTML5 kan du bruge pattern attributten.

helt sikkert værd at overveje, på sigt men vær opmærksom på
ref http://www.w3schools.com/html5/att_input_pattern.asp
The pattern attribute works in all major browsers, except Internet Explorer and Safari.

jeg er ikke helt tilfreds, da den tillader et blankt felt :(




Så det her betyder kun "tal" fra 0 til 9 ?
Fold kodeboks ind/udPHP kode 



Og kan dette gøre det, så det kun er bogstaver?
Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 15.10.2012 00:29 af Bruger #17369
Ja det virker ikke i alle browsere og kan manipuleres men det kan give brugeren en bedre oplevelse fordi brugeren kan få feedback mens brugeren skriver.

For eksempel kan border på input blive rød hvis det er ugyldigt og grøn når det er gyldigt.



validerings hoved regl
validering client side for brugerens skyld (html/js).
validering serve side for din sikkerheds skyld. (stol aldrig på brugeren), alle indput skal altid valideres serverside

så gør gerne bægge dele, men altid serverside

mon ikke pattern i CharOnly skal se sådan ud ??,
$pattern = "/^[a-zæøåÆØÅ]+$/i";
dvs understøtte æøå, flaget i, understøtter nogle gange æøå, men er en udokumentret adfærd, kigger muligvis på setlocale(

hvis du bruger input pattern som scootergrisen forslog bør den nok se sådan ud:
Fold kodeboks ind/udKode 

dvs store og små bogstaver og æøåÆØÅ

hvis du vil understøtte store og små bbogstaver + æøå




hvorfor ikke bare erstatte den med /^\w+$/i



t