Avatar billede NVedsted Juniormester
26. april 2010 - 14:29 Der er 14 kommentarer og
1 løsning

"Må ikke bruges!!!" funktion.

Jeg har det problem med at der kommer en/et prompt boks, hvor man skal indtaste, et tal, men kan man lave en form for "Spellcheker".
Der siger at man kun må bruge 1234567890?
Avatar billede plazm Nybegynder
26. april 2010 - 14:44 #1
Du kan ikke tilføje en event på prompten, men du kan validere den værdi som du får ud, og hvis den ikke er som ønsket, vise prompten igen
Avatar billede NVedsted Juniormester
26. april 2010 - 14:45 #2
Det var det jeg ment. :-)
Avatar billede plazm Nybegynder
26. april 2010 - 14:49 #3
var Number;
var IsNumber = false;
do {
Number = prompt("Indtast et tal", "");
IsNumber = /^-?\d+$/.test(Number);
} while (!IsNumber);
Avatar billede NVedsted Juniormester
26. april 2010 - 14:51 #4
det virker men hvordan skal det læses kan du forklarer det?
Avatar billede plazm Nybegynder
26. april 2010 - 14:59 #5
Det som det gør er at blive ved med at spørge om input indtil at det opfylder kravene(skal være et tal).
Måden jeg tjekker ved er et stykke Regex(Regular Expression) som tjekker indholdet for om det kun er tal som er skrevet.
Avatar billede plazm Nybegynder
26. april 2010 - 15:00 #6
Hov måske bør du fjerne -? fra det regex, jeg tillader også negative tal :)
Avatar billede NVedsted Juniormester
26. april 2010 - 15:02 #7
Hvad betyder "(!IsNumber)"?
Betyder "!" ikke "nej" eller "ikke"?
Avatar billede plazm Nybegynder
26. april 2010 - 15:06 #8
! betyder helt rigtigt "ikke" eller på engelsk "not".

så spørgsmålet til while loopet er "sålænge IsNumber ikke er sand"
Avatar billede NVedsted Juniormester
26. april 2010 - 15:07 #9
Hvad betyder alle tegnene her "/^-?\d+$/.test(Number);"?
Kan en del med javascript men det her er helt nyt...
Avatar billede plazm Nybegynder
26. april 2010 - 15:17 #10
/^-?\d+$/ er det jeg kalder regex, / er tegn som fortæller at det er start/slut på det

^ betyder starten af teksten
-? betyder at der kan være et minus men ikk nødvendigvis
\d+ betyder at der kommer en række cifre
$ betyder slutten af teksten

.test(Number) betyder at den skal tage det udtryk fra før og prøve det på teksten, og se om den opfylder kravene
Avatar billede NVedsted Juniormester
26. april 2010 - 15:20 #11
og hvis det er bogstaver istedet?
Avatar billede plazm Nybegynder
26. april 2010 - 15:27 #12
så skal \d skiftes ud med [a-zA-Z]
Avatar billede NVedsted Juniormester
26. april 2010 - 15:29 #13
ok men hvad så hvis alle bogstaver ([a-zA-Z]) og * skal være tiladt?
er det så [a-zA-Z*]?
Avatar billede plazm Nybegynder
26. april 2010 - 15:31 #14
Nu er du vist røget tilpas meget ud over spørgsmålets oprindelige formål. Du må acceptere mit svar på dit spørgsmål og læse op på regex selv, eller oprette et nyt spørgsmål
Avatar billede NVedsted Juniormester
26. april 2010 - 15:34 #15
ok
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

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