Avatar billede stigc Nybegynder
05. september 2000 - 16:37 Der er 7 kommentarer og
1 løsning

Hvordan tjekker jeg at en String ikke indeholder bogstaver?

Hvordan tjekker jeg at en String ikke indeholder bogstaver?
Avatar billede krogstrup Nybegynder
05. september 2000 - 17:08 #1
var checkStr = \"1234567890\";

function check(tegn) {
    for (i=0; i<checkStr.length; i++) {
        if (checkStr.indexOf(tegn) == -1) {
            return false;
        }
    }
}

function tjekForm() {
    indhold = document.minForm.mitFelt.value;
    for (j=0; j<indhold.length; j++) {
        if (check(indhold.charAt(j)) == false) {
            alert(\'Der er opst\\345et en fejl !\\n\\nDer m\\345 IKKE bruges bogstaver i feltet...\');
            return false;
        }
    }
    document.minForm.submit();
}


<form name=\"minForm\">
<input type=\"text\" name=\"mitFelt\">
<input type=\"button\" onClick=\"return tjekForm()\">
</form>
Avatar billede stigc Nybegynder
05. september 2000 - 17:43 #2
der er vist lidt rod i din kode!
Avatar billede krogstrup Nybegynder
05. september 2000 - 18:02 #3
Kan du definere \"rod\" ?
Avatar billede krogstrup Nybegynder
05. september 2000 - 18:03 #4
Jeg går udfra at du har regnet ud der skal følgende kode rundt om javascriptet:

<script language=\"javascript\">
</script>
Avatar billede stigc Nybegynder
05. september 2000 - 18:45 #5
Din funktion check kører rundt i en udnødvendig løkke:

function check(tegn) {
    for (i=0; i<checkStr.length; i++) {
        if (checkStr.indexOf(tegn) == -1) {
            return false;
        }
   
Men det virker fint så jeg er tilfreds, har dog droppet løkken.

Hvorfor er der så mange der bruger tuborg ved if-sætninger selvom der kun kommer en sætning bagefter? Er der en grund til det?

f.eks:

if (checkStr.indexOf(tegn) == -1) {
            return false;
        }
   
i stedet for:

if (checkStr.indexOf(tegn) == -1) 
            return false;

   
Avatar billede justincase Nybegynder
05. september 2000 - 21:37 #6
Der er smartere måder at gøre det på. Man skal nogen gange se på hvad det sprog man skriver i indeholder af muligheder før man genopfinder.... og blah, blah.

function check_int( val ) {
    var s = \"\"+parseInt( val )+\"\";
    if (s.length == val.length) {
        return true;
    }
    else {
        return false;
    }
}

:)

JustinCase
Avatar billede luttichau Nybegynder
06. marts 2001 - 19:42 #7
Hej JustinCase,

Din funktion er meget smart men den virker ikke hvis val f.eks. indeholder a234 fordi parseint kun kan finde ud af det hvis bogstavet kommer efter tallet :)
Avatar billede luttichau Nybegynder
06. marts 2001 - 20:05 #8
Jeg har fundet ud af dette her i stedet for.. men den virker måske ikke med ældre versioner af javascript, det kan være nogle problemer med at bruge isnan i en if sætning.

var Myvar = \'234\';

if (Myvar.indexOf(\'.\') == -1) {
    if (isNaN(Myvar)) {
        alert(\'Det er ikke et tal\');
    } else {
        alert(\'Det ER et tal\')
    }
} else {
    alert(\'Det er sikkert en float!\')
}
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