Avatar billede kaktus Nybegynder
17. maj 2006 - 19:05 Der er 2 kommentarer og
1 løsning

Validering af form

Kan du gøre denne kode færdg, så den virker efter hensigten?
Jeg har et indput felt der hedder "fornavn_txt"
Jeg har et indput felt der hedder "fmail_txt"
Jeg har et dynamisk text felt der hedder "result_txt"
og en submit knap uden actionscript på.
Det hele køre som en function.
Kun point for dem der kan gøre nuværende kode færdig.
Den virker nemlig ikke efter hensigten.
Forslag om at lave konden om til dit eller dat giver ikke point.
Se mere her hvor også test-validering.fla fil ligger.
http://holger8.wi8.ots.dk/test/test-validering.html
Koden kommer herunder i første kommentar.
Avatar billede kaktus Nybegynder
17. maj 2006 - 19:05 #1
function validate_mail (mail) {

    // 1. Check whether there is an "@" in the address

    primo = new String () ;
    primo = mail.toLowerCase() ;
       
    primo_array = new Array () ;       
    primo_array = primo.split ("@") ;

    if (primo_array.length == "2" ) {
   
        trace ("First test passed") ;

        // 2. Second test - check if there is something before the "@", and that that prefix doesn't start with a "." or ends with a "."
   
        prefix = new String () ;
        prefix = primo_array[0] ;

        if (prefix.length > 0 && prefix.charAt(0) != "." && prefix.charAt(prefix.length-1) != ".") {

            trace ("Second test passed") ;
       
            // 3. Third test - check if there is at least one point behind the "@"
       
            suffix = new String () ;
            suffix = primo_array[1] ;

            suffix_array = new Array () ;
            suffix_array = suffix.split (".") ;
           
            if (suffix_array.length > 1) {
       
                trace ("Third test passed") ;
       
                // 4. Fourth test - check if there is are at least two, max 4 letters behind the last point                       
                // First, the function must take the string behind the last point - the Top Level Domain (TLD)
   
                index_of_suffix_array = suffix_array.length - 1 ;

                // Take the string of the last part of the suffix

                TLD    = new String () ;
                TLD = suffix_array[index_of_suffix_array] ;
           
                trace ("TLD =" + TLD + "// TLD.length =" + TLD.length) ;

                if (TLD.length > 1 && TLD.length < 5) {

                    trace ("Fourth test passed") ;
   
                    // 5. Fifth test - check that there is at least one letter between every point in the suffix

                    suffix_particle    = new String () ;
                   
                    for (i=0 ; i <= suffix_array.length - 1 ; i++) {

                        suffix_particle = suffix_array[i] ;
       
                        if (suffix_particle.length > 0) {
   
                            trace ("Fifth test passed") ;

                            if (i == suffix_array.length - 1) {

                                // 6. Sniffing if there are unauthorised chars residing in the Email Address                       
   
                                char = new Array () ;
                               
                                for (k=0 ; k<=primo.length - 1 ; k++) {
   
                                    char = primo.slice (k, k+1) ;
                                    trace (char) ;           

                                  // Allowed characters of your choice can be added in statement below
       
                                    if (char == "a" || char == "b" || char == "c" || char == "d" || char == "e" || char == "f" || char == "g" || char == "h" || char == "i" || char == "j" || char == "k" || char == "l" || char == "m" ||
                                        char == "n" || char == "o" || char == "p" || char == "q" || char == "r" || char == "s" || char == "t" || char == "u" || char == "v" || char == "w" || char == "x" || char == "y" || char == "z" ||           
                                        char == "0" || char == "1" || char == "2" || char == "3" || char == "4" || char == "5" || char == "6" || char == "7" || char == "8" || char == "9" ||
                                        char == "." || char == "@" ||
                                        char == "_" || char == "-") {
                                   
                                           
                                            // The following statement checks if every character has passed the last test
                                            // And executes the succeeding message.       

                                            if (k == primo.length - 1) {               
                                       
                                                // Actual statement when all tests are passed
                                                // If your Mail Address needs to be sent when it is compliant - this is where you send it.
                                                               
                                                //result_txt.text = "Thank you for submitting !" ;
                                                    result_txt.text = mail;
                                            }

                                    } else {

                                        // Result if Test 6 fails

                                        trace ("Unauthorised character " + char) ;
                                        result_txt.text = "Ulovlig karaktèr " + char ;
                                        break ;
                                       
                                    }
                               
                                }

                            }
                       
                        } else {
       
                            // Result if Test 5 fails

                            trace ("Error in delimiters (.)") ;
                            result_txt.text = "Der skal være noget før (.)" ;
                            break ;
                   
                        }
                   
                    }

                } else {

                    // Result if Test 4 fails                   

                    trace ("Error in TLD") ;
                    //result_txt.text = "Så mangler du kun TLD" "+\n" "(Top Level Domain)" ;
                   
                }
                               
            } else {
       
                // Result if Test 3 fails

                trace ("Error in the suffix") ;
                result_txt.text = "Du mangler noget efter @" ;

            }

        } else {

            // Result if Test 2 fails

            trace ("Malformed Prefix or Missing Prefix") ;       
            result_txt.text = "Du mangler noget foran @" ;           
   
        }

    } else {
   
        // Result if Test 1 fails

        trace ("Mail must contain one @") ;
        result_txt.text = "Mail skal indeholde @" ;           
    }
   
} ;

knap_btn.onRelease = function() {
    result_txt.text = "Du har indtastet følgende:\n"
    result_txt.text = fornavn_txt.text+"\n"
   
    validate_mail (mail_txt.text) ;
   
   
   
       
    if (email_txt.text == true (result_txt.text = mail));
   
   
   
    if(fornavn_txt.length < 2 == isNaN(fornavn_txt.text)) {
    result_txt.text = "Du mangler dit Fornavn "+"\n"+"eller det indtastede er forkert"};
   
   
    };
Avatar billede kaktus Nybegynder
17. maj 2006 - 19:23 #2
Jeg har et indput felt der hedder "fmail_txt"
skal lige rettes til
Jeg har et indput felt der hedder "mail_txt"
Undskyld
Avatar billede kaktus Nybegynder
18. maj 2006 - 13:02 #3
Jeg har selv løst problemet :-)
jeg sletter filerne på http://holger8.wi8.ots.dk/test/test-validering.html om nogle dage.
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