Avatar billede tobrukDk Novice
22. januar 2012 - 20:26 Der er 8 kommentarer og
1 løsning

form validation på password

hej

det er sådan at jeg kun godt tænke mig at lave sådan password validation som gøre at man skal helst have mere endnu 5 tal og bogstaver i sit password.. og man må kun have 50 i sit password kun!.


function validatePassword(fld) {
    var error = "";
    var illegalChars = /[\W_]/; // allow only letters and numbers

    if (fld.value == "") {
        fld.style.background = 'Yellow';
        error = "You didn't enter a password.\n";
    } else if ((fld.value.length < 7) || (fld.value.length > 15)) {
        error = "The password is the wrong length. \n";
        fld.style.background = 'Yellow';
    } else if (illegalChars.test(fld.value)) {
        error = "The password contains illegal characters.\n";
        fld.style.background = 'Yellow';
    } else if (!((fld.value.search(/(a-z)+/)) && (fld.value.search(/(0-9)+/)))) {
        error = "The password must contain at least one numeral.\n";
        fld.style.background = 'Yellow';
    } else {
        fld.style.background = 'White';
    }
  return error;



jeg har fundt den her på nette.. :)

http://www.webcheatsheet.com/javascript/form_validation.php#password



hvordan gør jeg sådan at jeg spørger de her 2 omkring om der er 5 eller mere inde i input form hvordan skal jeg gøre det?

jeg er ikke goood til javascript.. :(

håber du vil hjælp mig med det her :D
Avatar billede tobrukDk Novice
22. januar 2012 - 20:56 #1

input type="password" name="password" placeholder="Password" />
                    <br>
                    <input type="password" name="gentag" placeholder="Gentag password" />


Sorry de her skulle også med :D
Avatar billede Kaa85 Praktikant
22. januar 2012 - 21:55 #2
Tilføj en attribut til hvert af de 2 felter kaldet henholdsvis id="password" og id="gentag".

Lav en <input type="button" onclick="validatePasswords()">

Og så i din javascript fil tilføjer du en ny metode (Metoden som knapper kalde på onclick)

fucntion validatePasswords() {
var error = validatePassword(document.getElementById('password'));
error = validatePassword(document.getElementById('gentag'));

if(error.length == 0){
//Gør hvad der skal gøre med din form hvis der ikke er fejl.
}
}

Omtrent sådan, det er ikke testet.!
Avatar billede Kaa85 Praktikant
23. januar 2012 - 05:56 #3
Og så skald du forresten også ændre den her linje

} else if ((fld.value.length < 7) || (fld.value.length > 15)) {


til

} else if ((fld.value.length < 5) || (fld.value.length > 15)) {

Hvis du vil tjekke om der er 5 tegn eller mere..
Avatar billede tobrukDk Novice
23. januar 2012 - 21:37 #4
jeg er lidt forvirret lige nu , vil du ikke lige prøve og sæt det op for mig ? jeg kan ikke se helt hvad du mener med det :D
Avatar billede Kaa85 Praktikant
23. januar 2012 - 22:32 #5
Joda, har lige skrevet den en anelse om, og tilføjet nogle kommentarer.

Jeg vil samtidig opfordre dig til at læse nogle begynder guides i javascript, da dette er ret simpelt og der er rigtig mange gode, danske guides der beskriver lige præcis den her situation.

Er der noget du ikke forstår i det nedenstående, opfordrer jeg dig igen til at google det og læse om det.

Google er din ven :-)

<script type="text/javascript">
    function validatePasswords() {
        //Benytter metoden getElementById til at finde de 2 input felter der hver især hedder password og gentag og gemmer deres value i variabler.
        var pass1 = document.getElementById('password').value;
        var pass2 = document.getElementById('gentag').value;

        //Laver en variabel der gemmer en eventuel fejlmeddelse
        var err = '';

        var illChars = /[\W_]/;

        //Tjekker om der er indtastet noget i password feltet
        if (pass1.length == 0)
            err = 'Du skal indtaste et kodeord';
        //Tjekker om det password der er indtastet er mindre end 5 eller større end 15, er det det, gemmer den en fejl meddelse i err
        else if (pass1.length < 5 || pass1.length > 15)
            err = 'Kodeordet har en forkert længde';
        //Tjekker om passwordet indeholder ulovlige tegn. Hertil benyttes regular expression
        else if (illChars.test(pass1))
            err = 'Kodeordet indeholder ulovlige tegn';
        //Tjekker igen vha. regular expression om kodeord indeholder tal
        else if(pass1.search(/[0-9]+/))
            err = 'Kodeordet skal minimum indeholde et tal';
        //Tjekker om de 2 indtastninger er ens
        else if(pass1 != pass2)
            err = 'Kodeordene matcher ikke';

        //Til sidst tjekkes der om fejl variablen indeholder noget data, gør den det er der sket en fejl og denne udskrives.
        if(err.length > 0)
            alert(err);
        else
            alert('Godkendt');
    }
</script>

<input type="password" id="password" name="password" placeholder="Password" />
<br />
<input type="password" id="gentag" name="gentag" placeholder="Gentag password" />
<br />
<input type="button" value="Check" onclick="validatePasswords()">
Avatar billede tobrukDk Novice
24. januar 2012 - 00:16 #6
Takker mange gerne :)

jeg er lige pt i gang med uddannelse til at lærer php og mysql database så måske senenere når jeg føler at jeg er godt med så måske lege lidt med javascript men lige nu vil jeg kun tænke på en ting da :D
Avatar billede Kaa85 Praktikant
24. januar 2012 - 00:24 #7
Så lidt.

For en god ordens skyld lægger jeg et svar :-)
Avatar billede tobrukDk Novice
25. januar 2012 - 06:35 #8
Jeg tester det lige når jeg er har fri så ksn jeg hive dig de point som du skal have for det ;)
Avatar billede tobrukDk Novice
27. januar 2012 - 19:57 #9
Du får dem i den her weekend ;)
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