Avatar billede jacobs1 Nybegynder
29. april 2009 - 18:38 Der er 3 kommentarer og
1 løsning

Javascript validering

Hej Eksperten.

Jeg har et par problemer med noget password validering. Håber der er nogle der kan hjælpe. det er bare 2 simple valideringer :)

1) Min string må ikke indeholde det samme tegn 3 gange i træk?

<script language="javascript">
function theetimes(value)
{
    var len = value.length;
    var tjek = 0;
    var error = false;
   
    for(i=0; i<len; i++)
    {
        for(i=j; j<len; j++)
        {
            if(value.substr(j,1) == value.substr(i,1) && value.substr(j,1) == value.substr((i+1),1) && value.substr(j,1) == value.substr((i+2),1) )
            {
                var error = true;
            }
            else
            {
                var error = false;
            }
        };
    };
return error;
};
theetimes("dsfsdkkksdsd")
</script>

2) Min String skal indeholde både bogstaver og tal.

<script language="javascript">
function talogbog(value)
{
    var error = true;
    var re = /[0-9]/;
    var bogstaver = /[a-z]/;
   
    if(!re.test(value) && !re.test(bog))
    {
        error = false;
       
    }
    else
    {
        error = true;

    }
return error;
};
talogbog("dsfsdk8ksdsd")
</script>
Avatar billede tjens Nybegynder
30. april 2009 - 20:11 #1
Der er flere fejl i din theetimes:
- der skal ikke være else på testen, da du så overskriver en tidligere true.
- der står VAR foran error = true i testen. Så danner du en ny variabel som IKKE er den samme som du returner til sidst.

Bud på en ny:

function threetimes(value)
{
    var len = value.length - 2;
    if (len < 3)
        return true; // too short
    for(i=0; i<len; i++)  {
        if(value.substr(i,1) == value.substr(i+1,1) && value.substr(i,1) == value.substr((i+2),1)  )  {
            return true; // tree of a kind
        }
    }
return false;
}
Avatar billede tjens Nybegynder
30. april 2009 - 20:20 #2
function talogbog(value)
{
    var re = /[0-9]/;
    var bogstaver = /[a-z]/;
    if(re.test(value) && bogstaver.test(value))
          return true;
    return false;
}

Samme princip igen, hvor return true afbryder og sørger for at return false ikke udføres.
Avatar billede jacobs1 Nybegynder
30. april 2009 - 20:33 #3
Mange tak. Hvordan giver jeg jer jeres point :)
Avatar billede tjens Nybegynder
30. april 2009 - 21:47 #4
Her er et svar: Så kan du give point til svaret.
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