Avatar billede schwaner Nybegynder
27. august 2004 - 10:52 Der er 7 kommentarer

Tjek for tal input

Hej med jer.

Jeg har nogle variable/indtastnings felter som jeg skal sikre at brugeren har indtastet tal i og ikke bogstaver eller mellemrum. Hvi det ikke er tal skal feltet rettes til "nul". Kan man klare det på en nem og hurtig måde.

/Schwaner.
Avatar billede barklund Nybegynder
27. august 2004 - 11:00 #1
Den næsten komplette løsning er at teste med isNaN, der forsøger tal-konvertering og returnerer true, hvis det ikke er et tal.

Men faktisk vil strenge som "-1.07e-02" eller "0x76f2" også være tal, så det er ikke helt perfekt. Smartere, vil det være at konvertere til tal og tilbage til streng og se, om du får samme tal:

if (String(Number(tal)) == tal) trace("så er den næsten god nok");

Man kan stadig snyde den, men ikke hundrede procent. Og hvis du kun accepterer heltal (ikke kommatal) kan det gøres endnu bedre ved at afrunde:

if (String(MAth.round(Number(tal))) == tal) trace("så er det sgu et heltal");

--
Morten Barklund
Avatar billede ask-m Nybegynder
27. august 2004 - 11:53 #2
i stedet for at tjekke kan du begrænse...
hvis du sætter en "restrict" på indtastningsfeltet, så kan brugeren kun taste det ind du tillader!
my_txt.restrict = "A-Z 0-9";
betyder at der kun kan tastes store bogstaver og tal ind i textfeltet "my_txt"

my_txt.restrict = "0-9";// kun tal

my_txt.restrict = "0-9\\."; kun tal og "."

Men kig i det hele taget på dokumentationen for restrict den giver mange gode eksempler.

Ask-m
Avatar billede barklund Nybegynder
27. august 2004 - 12:54 #3
ask-m, god ide, havde jeg sgu ikke lige tænkt på. ;)
Avatar billede schwaner Nybegynder
27. august 2004 - 13:02 #4
Tak for det :-) Hvis I skal have lidt points må I oprette et "svar".
Avatar billede barklund Nybegynder
27. august 2004 - 13:14 #5
Nu er ask-m's bud godt nok noget smartere ;)
Avatar billede schwaner Nybegynder
27. august 2004 - 13:16 #6
Okay. Synes dog alligevel I skal have lidt værd - det er jo fredfag :-)
Avatar billede ask-m Nybegynder
27. august 2004 - 13:31 #7
... det gælder jo om at være en doven hund når man koder... og efter at have bygget alverdens tjek-funktioner til alle mulige input-felter faldt jeg pludselig over restrict... "its a very powerfull tool!"  ;-)

ask-m
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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